// These classes use a keybinding system based on the design implemented in Scintilla.Net which is an MIT licensed open source project https://github.com/jacobslusser/ScintillaNET/blob/master/src/ScintillaNET/Command.cs
using System;
namespace Terminal.Gui {
///
/// Actions which can be performed by the application or bound to keys in a control.
///
public enum Command {
///
/// Moves the caret down one line.
///
LineDown,
///
/// Extends the selection down one line.
///
LineDownExtend,
///
/// Moves the caret down to the last child node of the branch that holds the current selection
///
LineDownToLastBranch,
///
/// Scrolls down one line (without changing the selection).
///
ScrollDown,
// --------------------------------------------------------------------
///
/// Moves the caret up one line.
///
LineUp,
///
/// Extends the selection up one line.
///
LineUpExtend,
///
/// Moves the caret up to the first child node of the branch that holds the current selection
///
LineUpToFirstBranch,
///
/// Scrolls up one line (without changing the selection).
///
ScrollUp,
///
/// Moves the selection left one by the minimum increment supported by the view e.g. single character, cell, item etc.
///
Left,
///
/// Scrolls one character to the left
///
ScrollLeft,
///
/// Extends the selection left one by the minimum increment supported by the view e.g. single character, cell, item etc.
///
LeftExtend,
///
/// Moves the selection right one by the minimum increment supported by the view e.g. single character, cell, item etc.
///
Right,
///
/// Scrolls one character to the right.
///
ScrollRight,
///
/// Extends the selection right one by the minimum increment supported by the view e.g. single character, cell, item etc.
///
RightExtend,
///
/// Moves the caret to the start of the previous word.
///
WordLeft,
///
/// Extends the selection to the start of the previous word.
///
WordLeftExtend,
///
/// Moves the caret to the start of the next word.
///
WordRight,
///
/// Extends the selection to the start of the next word.
///
WordRightExtend,
///
/// Deletes and copies to the clipboard the characters from the current position to the end of the line.
///
CutToEndLine,
///
/// Deletes and copies to the clipboard the characters from the current position to the start of the line.
///
CutToStartLine,
///
/// Deletes the characters forwards.
///
KillWordForwards,
///
/// Deletes the characters backwards.
///
KillWordBackwards,
///
/// Toggles overwrite mode such that newly typed text overwrites the text that is
/// already there (typically associated with the Insert key).
///
ToggleOverwrite,
///
/// Enables overwrite mode such that newly typed text overwrites the text that is
/// already there (typically associated with the Insert key).
///
EnableOverwrite,
///
/// Disables overwrite mode ()
///
DisableOverwrite,
///
/// Move the page down.
///
PageDown,
///
/// Move the page down increase selection area to cover revealed objects/characters.
///
PageDownExtend,
///
/// Move the page up.
///
PageUp,
///
/// Move the page up increase selection area to cover revealed objects/characters.
///
PageUpExtend,
///
/// Moves to top begin.
///
TopHome,
///
/// Extends the selection to the top begin.
///
TopHomeExtend,
///
/// Moves to bottom end.
///
BottomEnd,
///
/// Extends the selection to the bottom end.
///
BottomEndExtend,
///
/// Open selected item.
///
OpenSelectedItem,
///
/// Toggle the checked state.
///
ToggleChecked,
///
/// Accepts the current state (e.g. selection, button press etc)
///
Accept,
///
/// Toggles the Expanded or collapsed state of a a list or item (with subitems)
///
ToggleExpandCollapse,
///
/// Expands a list or item (with subitems)
///
Expand,
///
/// Recursively Expands all child items and their child items (if any)
///
ExpandAll,
///
/// Collapses a list or item (with subitems)
///
Collapse,
///
/// Recursively collapses a list items of their children (if any)
///
CollapseAll,
///
/// Cancels any current temporary states on the control e.g. expanding
/// a combo list
///
Cancel,
///
/// Unix emulation
///
UnixEmulation,
///
/// Deletes the character on the right.
///
DeleteCharRight,
///
/// Deletes the character on the left.
///
DeleteCharLeft,
///
/// Selects all objects in the control.
///
SelectAll,
///
/// Deletes all objects in the control.
///
DeleteAll,
///
/// Moves the cursor to the start of line.
///
StartOfLine,
///
/// Extends the selection to the start of line.
///
StartOfLineExtend,
///
/// Moves the cursor to the end of line.
///
EndOfLine,
///
/// Extends the selection to the end of line.
///
EndOfLineExtend,
///
/// Moves the cursor to the top of page.
///
StartOfPage,
///
/// Moves the cursor to the bottom of page.
///
EndOfPage,
///
/// Moves to the left page.
///
PageLeft,
///
/// Moves to the right page.
///
PageRight,
///
/// Moves to the left begin.
///
LeftHome,
///
/// Extends the selection to the left begin.
///
LeftHomeExtend,
///
/// Moves to the right end.
///
RightEnd,
///
/// Extends the selection to the right end.
///
RightEndExtend,
///
/// Undo changes.
///
Undo,
///
/// Redo changes.
///
Redo,
///
/// Copies the current selection.
///
Copy,
///
/// Cuts the current selection.
///
Cut,
///
/// Pastes the current selection.
///
Paste,
///
/// Quit a toplevel.
///
QuitToplevel,
///
/// Suspend a application (used on Linux).
///
Suspend,
///
/// Moves focus to the next view.
///
NextView,
///
/// Moves focuss to the previous view.
///
PreviousView,
///
/// Moves focus to the next view or toplevel (case of Mdi).
///
NextViewOrTop,
///
/// Moves focus to the next previous or toplevel (case of Mdi).
///
PreviousViewOrTop,
///
/// Refresh the application.
///
Refresh,
///
/// Toggles the extended selection.
///
ToggleExtend,
///
/// Inserts a new line.
///
NewLine,
///
/// Inserts a tab.
///
Tab,
///
/// Inserts a shift tab.
///
BackTab
}
}