diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index c484cf802..398bd926b 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -234,6 +234,18 @@ namespace Terminal.Gui { /// /// /// + /// Control-Home + /// + /// Scrolls to the first line and moves the cursor there. + /// + /// + /// + /// Control-End + /// + /// Scrolls to the last line and moves the cursor there. + /// + /// + /// /// Delete, Control-d /// /// Deletes the character in front of the cursor. @@ -1004,15 +1016,11 @@ namespace Terminal.Gui { break; case Key.CtrlMask | Key.End: - currentRow = model.Count; - TrackColumn (); - PositionCursor (); + MoveEnd (); break; case Key.CtrlMask | Key.Home: - currentRow = 0; - TrackColumn (); - PositionCursor (); + MoveHome (); break; default: @@ -1086,6 +1094,26 @@ namespace Terminal.Gui { Rune RuneAt (int col, int row) => model.GetLine (row) [col]; + /// + /// Will scroll the to the last line and position the cursor there. + /// + public void MoveEnd () + { + currentRow = model.Count - 1; + TrackColumn (); + PositionCursor (); + } + + /// + /// Will scroll the to the first line and position the cursor there. + /// + public void MoveHome () + { + currentRow = 0; + TrackColumn (); + PositionCursor (); + } + bool MoveNext (ref int col, ref int row, out Rune rune) { var line = model.GetLine (row);