1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
/// \file
/// command enum
#ifndef COMMAND_H_
#define COMMAND_H_
/// command enum
///
/// more documentation in `ted.cfg`.
typedef enum {
CMD_UNKNOWN,
/// do nothing
CMD_NOOP,
// movement and selection commands
/// move cursor left
CMD_LEFT,
/// move cursor right
CMD_RIGHT,
/// move cursor up
CMD_UP,
/// move cursor down
CMD_DOWN,
/// move cursor left, and select
CMD_SELECT_LEFT,
CMD_SELECT_RIGHT,
CMD_SELECT_UP,
CMD_SELECT_DOWN,
/// move cursor left a word
CMD_LEFT_WORD,
CMD_RIGHT_WORD,
CMD_UP_BLANK_LINE,
CMD_DOWN_BLANK_LINE,
CMD_SELECT_LEFT_WORD,
CMD_SELECT_RIGHT_WORD,
/// move cursor to start of line
CMD_START_OF_LINE,
/// move cursor to end of line
CMD_END_OF_LINE,
/// select to start of line
CMD_SELECT_START_OF_LINE,
/// select to end of line
CMD_SELECT_END_OF_LINE,
/// move cursor to start of buffer
CMD_START_OF_FILE,
/// move cursor to end of buffer
CMD_END_OF_FILE,
/// go to previous position
CMD_PREVIOUS_POSITION,
/// move cursor to matching bracket
CMD_MATCHING_BRACKET,
CMD_SELECT_START_OF_FILE,
CMD_SELECT_END_OF_FILE,
/// select entire buffer
CMD_SELECT_ALL,
CMD_SELECT_PAGE_UP,
CMD_SELECT_PAGE_DOWN,
CMD_SELECT_UP_BLANK_LINE,
CMD_SELECT_DOWN_BLANK_LINE,
CMD_CLEAR_SELECTION,
// insertion
/// insert text
CMD_INSERT_TEXT,
/// insert `\t`
CMD_TAB,
CMD_BACKTAB,
/// insert `\n` + autoindent -- also used to submit line buffers
CMD_NEWLINE,
CMD_NEWLINE_BACK,
CMD_COMMENT_SELECTION,
// scrolling
/// move cursor up one page up (where one page is however tall the buffer is)
CMD_PAGE_UP,
CMD_PAGE_DOWN,
// deletion
CMD_BACKSPACE,
CMD_DELETE,
CMD_BACKSPACE_WORD,
CMD_DELETE_WORD,
/// increment number at cursor
CMD_INCREMENT_NUMBER,
/// decrement number at cursor
CMD_DECREMENT_NUMBER,
/// open a file
CMD_OPEN,
/// save current buffer
CMD_SAVE,
CMD_SAVE_AS,
/// save all open buffers with unsaved changes
CMD_SAVE_ALL,
CMD_NEW,
CMD_UNDO,
CMD_REDO,
CMD_COMMAND_SELECTOR,
CMD_OPEN_CONFIG,
/// reload all buffers from file
CMD_RELOAD_ALL,
CMD_QUIT,
// IDE features
CMD_SET_LANGUAGE,
CMD_AUTOCOMPLETE,
CMD_AUTOCOMPLETE_BACK,
CMD_FIND_USAGES,
CMD_RENAME_SYMBOL,
/// "go to definition of..." menu
CMD_GOTO_DEFINITION,
CMD_GOTO_DEFINITION_AT_CURSOR,
CMD_GOTO_DECLARATION_AT_CURSOR,
CMD_GOTO_TYPE_DEFINITION_AT_CURSOR,
CMD_FORMAT_FILE,
CMD_FORMAT_SELECTION,
CMD_LSP_RESET,
CMD_COPY,
CMD_CUT,
CMD_PASTE,
CMD_FIND,
CMD_FIND_REPLACE,
/// copy path to current file
CMD_COPY_PATH,
CMD_TAB_CLOSE,
/// argument = index of tab (starting at 0)
CMD_TAB_SWITCH,
CMD_TAB_NEXT,
CMD_TAB_PREV,
CMD_TAB_MOVE_LEFT,
CMD_TAB_MOVE_RIGHT,
CMD_TEXT_SIZE_INCREASE,
CMD_TEXT_SIZE_DECREASE,
/// toggle view-only mode
CMD_VIEW_ONLY,
CMD_BUILD,
CMD_BUILD_PREV_ERROR,
CMD_BUILD_NEXT_ERROR,
CMD_SHELL,
CMD_GENERATE_TAGS,
/// open "goto line..." menu
CMD_GOTO_LINE,
CMD_SPLIT_HORIZONTAL,
CMD_SPLIT_VERTICAL,
CMD_SPLIT_JOIN,
/// switch to the other side of a split
CMD_SPLIT_SWITCH,
/// swap which side is which in a split.
CMD_SPLIT_SWAP,
/// by default this is the escape key. closes menus, etc.
CMD_ESCAPE,
CMD_MACRO_RECORD,
CMD_MACRO_STOP,
CMD_MACRO_EXECUTE,
/// indent active buffer with spaces; if argument > 1, it is the # of spaces
CMD_INDENT_WITH_SPACES,
/// indent active buffer with tabs; if argument > 1, it is the tab width
CMD_INDENT_WITH_TABS,
/// set tab width/number of spaces to indent with
CMD_SET_TAB_WIDTH,
CMD_COUNT
} Command;
#endif
|