private static CommandResult CmdClearScreen(ICommandTarget target) { TerminalDocument doc = TerminalCommandTarget.AsTerminalDocument(target); if (doc == null) { return(CommandResult.Ignored); } TerminalControl tc = TerminalCommandTarget.AsTerminalControl(target); lock (doc) { GLine l = doc.TopLine; int top_id = l.ID; int limit = l.ID + doc.TerminalHeight; while (l != null && l.ID < limit) { l.Clear(); l = l.NextLine; } doc.CurrentLineNumber = top_id; doc.CaretColumn = 0; doc.InvalidatedRegion.InvalidatedAll = true; if (tc != null) { tc.ITextSelection.Clear(); tc.Invalidate(); } } return(CommandResult.Succeeded); }
private static CommandResult CmdClearBuffer(ICommandTarget target) { TerminalDocument doc = TerminalCommandTarget.AsTerminalDocument(target); if (doc == null) { return(CommandResult.Ignored); } ITerminalControlHost session = TerminalCommandTarget.AsTerminal(target); TerminalControl tc = TerminalCommandTarget.AsTerminalControl(target); lock (doc) { doc.Clear(); session.Terminal.AdjustTransientScrollBar(); if (tc != null) { tc.ITextSelection.Clear(); tc.Invalidate(); } } return(CommandResult.Succeeded); }