7
|
1 /* vi:set ts=8 sts=4 sw=4:
|
|
2 *
|
|
3 * VIM - Vi IMproved by Bram Moolenaar
|
|
4 *
|
|
5 * Do ":help uganda" in Vim to read copying and usage conditions.
|
|
6 * Do ":help credits" in Vim to see a list of people who contributed.
|
|
7 */
|
|
8
|
|
9 /*
|
|
10 * This file defines the Ex commands.
|
|
11 * When DO_DECLARE_EXCMD is defined, the table with ex command names and
|
|
12 * options results.
|
|
13 * When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands
|
|
14 * results.
|
|
15 * This clever trick was invented by Ron Aaron.
|
|
16 */
|
|
17
|
|
18 /*
|
|
19 * When adding an Ex command:
|
|
20 * 1. Add an entry in the table below. Keep it sorted on the shortest
|
|
21 * version of the command name that works. If it doesn't start with a
|
|
22 * lower case letter, add it at the end.
|
|
23 * 2. Add a "case: CMD_xxx" in the big switch in ex_docmd.c.
|
|
24 * 3. Add an entry in the index for Ex commands at ":help ex-cmd-index".
|
|
25 * 4. Add documentation in ../doc/xxx.txt. Add a tag for both the short and
|
|
26 * long name of the command.
|
|
27 */
|
|
28
|
|
29 #ifdef RANGE
|
|
30 # undef RANGE /* SASC on Amiga defines it */
|
|
31 #endif
|
|
32
|
|
33 #define RANGE 0x001 /* allow a linespecs */
|
|
34 #define BANG 0x002 /* allow a ! after the command name */
|
|
35 #define EXTRA 0x004 /* allow extra args after command name */
|
|
36 #define XFILE 0x008 /* expand wildcards in extra part */
|
|
37 #define NOSPC 0x010 /* no spaces allowed in the extra part */
|
|
38 #define DFLALL 0x020 /* default file range is 1,$ */
|
|
39 #define WHOLEFOLD 0x040 /* extend range to include whole fold also
|
|
40 when less than two numbers given */
|
|
41 #define NEEDARG 0x080 /* argument required */
|
|
42 #define TRLBAR 0x100 /* check for trailing vertical bar */
|
|
43 #define REGSTR 0x200 /* allow "x for register designation */
|
|
44 #define COUNT 0x400 /* allow count in argument, after command */
|
|
45 #define NOTRLCOM 0x800 /* no trailing comment allowed */
|
|
46 #define ZEROR 0x1000 /* zero line number allowed */
|
|
47 #define USECTRLV 0x2000 /* do not remove CTRL-V from argument */
|
|
48 #define NOTADR 0x4000 /* number before command is not an address */
|
|
49 #define EDITCMD 0x8000 /* allow "+command" argument */
|
|
50 #define BUFNAME 0x10000L /* accepts buffer name */
|
|
51 #define BUFUNL 0x20000L /* accepts unlisted buffer too */
|
|
52 #define ARGOPT 0x40000L /* allow "++opt=val" argument */
|
|
53 #define SBOXOK 0x80000L /* allowed in the sandbox */
|
|
54 #define CMDWIN 0x100000L /* allowed in cmdline window */
|
|
55 #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */
|
|
56 #define FILES (XFILE | EXTRA) /* multiple extra files allowed */
|
|
57 #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
|
|
58 #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
|
|
59
|
|
60 #ifndef DO_DECLARE_EXCMD
|
|
61 typedef struct exarg exarg_T;
|
|
62 #endif
|
|
63
|
|
64 /*
|
|
65 * This array maps ex command names to command codes.
|
|
66 * The order in which command names are listed below is significant --
|
|
67 * ambiguous abbreviations are always resolved to be the first possible match
|
|
68 * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes
|
|
69 * before "rewind").
|
|
70 * Not supported commands are included to avoid ambiguities.
|
|
71 */
|
|
72 #ifdef EX
|
|
73 # undef EX /* just in case */
|
|
74 #endif
|
|
75 #ifdef DO_DECLARE_EXCMD
|
|
76 # define EX(a, b, c, d) {(char_u *)b, c, d}
|
|
77
|
|
78 typedef void (*ex_func_T) __ARGS((exarg_T *eap));
|
|
79
|
|
80 static struct cmdname
|
|
81 {
|
|
82 char_u *cmd_name; /* name of the command */
|
|
83 ex_func_T cmd_func; /* function for this command */
|
|
84 long_u cmd_argt; /* flags declared above */
|
|
85 }
|
|
86 # if defined(FEAT_GUI_W16)
|
|
87 _far
|
|
88 # endif
|
|
89 cmdnames[] =
|
|
90 #else
|
|
91 # define EX(a, b, c, d) a
|
|
92 enum CMD_index
|
|
93 #endif
|
|
94 {
|
|
95 EX(CMD_append, "append", ex_append,
|
|
96 BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY),
|
|
97 EX(CMD_abbreviate, "abbreviate", ex_abbreviate,
|
|
98 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
99 EX(CMD_abclear, "abclear", ex_abclear,
|
|
100 EXTRA|TRLBAR|CMDWIN),
|
|
101 EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
|
|
102 NEEDARG|EXTRA|NOTRLCOM),
|
|
103 EX(CMD_all, "all", ex_all,
|
|
104 RANGE|NOTADR|COUNT|TRLBAR),
|
|
105 EX(CMD_amenu, "amenu", ex_menu,
|
|
106 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
107 EX(CMD_anoremenu, "anoremenu", ex_menu,
|
|
108 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
109 EX(CMD_args, "args", ex_args,
|
|
110 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
|
111 EX(CMD_argadd, "argadd", ex_argadd,
|
|
112 BANG|NEEDARG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
|
|
113 EX(CMD_argdelete, "argdelete", ex_argdelete,
|
|
114 BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
|
|
115 EX(CMD_argdo, "argdo", ex_listdo,
|
|
116 BANG|NEEDARG|EXTRA|NOTRLCOM),
|
|
117 EX(CMD_argedit, "argedit", ex_argedit,
|
|
118 BANG|NEEDARG|RANGE|NOTADR|COUNT|FILE1|EDITCMD|TRLBAR),
|
|
119 EX(CMD_argglobal, "argglobal", ex_args,
|
|
120 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
|
121 EX(CMD_arglocal, "arglocal", ex_args,
|
|
122 BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
|
123 EX(CMD_argument, "argument", ex_argument,
|
|
124 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
|
|
125 EX(CMD_ascii, "ascii", do_ascii,
|
|
126 TRLBAR|SBOXOK|CMDWIN),
|
|
127 EX(CMD_autocmd, "autocmd", ex_autocmd,
|
|
128 BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN),
|
|
129 EX(CMD_augroup, "augroup", ex_autocmd,
|
|
130 BANG|WORD1|TRLBAR|CMDWIN),
|
|
131 EX(CMD_aunmenu, "aunmenu", ex_menu,
|
|
132 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
133 EX(CMD_buffer, "buffer", ex_buffer,
|
|
134 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
|
|
135 EX(CMD_bNext, "bNext", ex_bprevious,
|
|
136 BANG|RANGE|NOTADR|COUNT|TRLBAR),
|
|
137 EX(CMD_ball, "ball", ex_buffer_all,
|
|
138 RANGE|NOTADR|COUNT|TRLBAR),
|
|
139 EX(CMD_badd, "badd", ex_edit,
|
|
140 NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN),
|
|
141 EX(CMD_bdelete, "bdelete", ex_bunload,
|
|
142 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
|
|
143 EX(CMD_behave, "behave", ex_behave,
|
|
144 NEEDARG|WORD1|TRLBAR|CMDWIN),
|
|
145 EX(CMD_belowright, "belowright", ex_wrongmodifier,
|
|
146 NEEDARG|EXTRA|NOTRLCOM),
|
|
147 EX(CMD_bfirst, "bfirst", ex_brewind,
|
|
148 BANG|RANGE|NOTADR|TRLBAR),
|
|
149 EX(CMD_blast, "blast", ex_blast,
|
|
150 BANG|RANGE|NOTADR|TRLBAR),
|
|
151 EX(CMD_bmodified, "bmodified", ex_bmodified,
|
|
152 BANG|RANGE|NOTADR|COUNT|TRLBAR),
|
|
153 EX(CMD_bnext, "bnext", ex_bnext,
|
|
154 BANG|RANGE|NOTADR|COUNT|TRLBAR),
|
|
155 EX(CMD_botright, "botright", ex_wrongmodifier,
|
|
156 NEEDARG|EXTRA|NOTRLCOM),
|
|
157 EX(CMD_bprevious, "bprevious", ex_bprevious,
|
|
158 BANG|RANGE|NOTADR|COUNT|TRLBAR),
|
|
159 EX(CMD_brewind, "brewind", ex_brewind,
|
|
160 BANG|RANGE|NOTADR|TRLBAR),
|
|
161 EX(CMD_break, "break", ex_break,
|
|
162 TRLBAR|SBOXOK|CMDWIN),
|
|
163 EX(CMD_breakadd, "breakadd", ex_breakadd,
|
|
164 EXTRA|TRLBAR|CMDWIN),
|
|
165 EX(CMD_breakdel, "breakdel", ex_breakdel,
|
|
166 EXTRA|TRLBAR|CMDWIN),
|
|
167 EX(CMD_breaklist, "breaklist", ex_breaklist,
|
|
168 EXTRA|TRLBAR|CMDWIN),
|
|
169 EX(CMD_browse, "browse", ex_wrongmodifier,
|
|
170 NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
|
|
171 EX(CMD_buffers, "buffers", buflist_list,
|
|
172 BANG|TRLBAR|CMDWIN),
|
|
173 EX(CMD_bufdo, "bufdo", ex_listdo,
|
|
174 BANG|NEEDARG|EXTRA|NOTRLCOM),
|
|
175 EX(CMD_bunload, "bunload", ex_bunload,
|
|
176 BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
|
|
177 EX(CMD_bwipeout, "bwipeout", ex_bunload,
|
|
178 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
|
|
179 EX(CMD_change, "change", ex_change,
|
|
180 BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY),
|
|
181 EX(CMD_cNext, "cNext", ex_cnext,
|
|
182 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
183 EX(CMD_cNfile, "cNfile", ex_cnext,
|
|
184 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
185 EX(CMD_cabbrev, "cabbrev", ex_abbreviate,
|
|
186 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
187 EX(CMD_cabclear, "cabclear", ex_abclear,
|
|
188 EXTRA|TRLBAR|CMDWIN),
|
|
189 EX(CMD_call, "call", ex_call,
|
|
190 RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
191 EX(CMD_catch, "catch", ex_catch,
|
|
192 EXTRA|SBOXOK|CMDWIN),
|
|
193 EX(CMD_cc, "cc", ex_cc,
|
|
194 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
195 EX(CMD_cclose, "cclose", ex_cclose,
|
|
196 RANGE|NOTADR|COUNT|TRLBAR),
|
|
197 EX(CMD_cd, "cd", ex_cd,
|
|
198 FILE1|TRLBAR|CMDWIN),
|
|
199 EX(CMD_center, "center", ex_align,
|
|
200 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
201 EX(CMD_cfile, "cfile", ex_cfile,
|
|
202 TRLBAR|FILE1|BANG),
|
|
203 EX(CMD_cfirst, "cfirst", ex_cc,
|
|
204 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
205 EX(CMD_cgetfile, "cgetfile", ex_cfile,
|
|
206 TRLBAR|FILE1|BANG),
|
|
207 EX(CMD_chdir, "chdir", ex_cd,
|
|
208 FILE1|TRLBAR|CMDWIN),
|
|
209 EX(CMD_changes, "changes", ex_changes,
|
|
210 TRLBAR|CMDWIN),
|
|
211 EX(CMD_checkpath, "checkpath", ex_checkpath,
|
|
212 TRLBAR|BANG|CMDWIN),
|
|
213 EX(CMD_checktime, "checktime", ex_checktime,
|
|
214 RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
|
|
215 EX(CMD_clist, "clist", qf_list,
|
|
216 BANG|EXTRA|TRLBAR|CMDWIN),
|
|
217 EX(CMD_clast, "clast", ex_cc,
|
|
218 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
219 EX(CMD_close, "close", ex_close,
|
|
220 BANG|TRLBAR|CMDWIN),
|
|
221 EX(CMD_cmap, "cmap", ex_map,
|
|
222 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
223 EX(CMD_cmapclear, "cmapclear", ex_mapclear,
|
|
224 EXTRA|TRLBAR|CMDWIN),
|
|
225 EX(CMD_cmenu, "cmenu", ex_menu,
|
|
226 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
227 EX(CMD_cnext, "cnext", ex_cnext,
|
|
228 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
229 EX(CMD_cnewer, "cnewer", qf_age,
|
|
230 RANGE|NOTADR|COUNT|TRLBAR),
|
|
231 EX(CMD_cnfile, "cnfile", ex_cnext,
|
|
232 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
233 EX(CMD_cnoremap, "cnoremap", ex_map,
|
|
234 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
235 EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate,
|
|
236 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
237 EX(CMD_cnoremenu, "cnoremenu", ex_menu,
|
|
238 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
239 EX(CMD_copy, "copy", ex_copymove,
|
|
240 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
|
|
241 EX(CMD_colder, "colder", qf_age,
|
|
242 RANGE|NOTADR|COUNT|TRLBAR),
|
|
243 EX(CMD_colorscheme, "colorscheme", ex_colorscheme,
|
|
244 NEEDARG|WORD1|TRLBAR|CMDWIN),
|
|
245 EX(CMD_command, "command", ex_command,
|
|
246 EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN),
|
|
247 EX(CMD_comclear, "comclear", ex_comclear,
|
|
248 TRLBAR|CMDWIN),
|
|
249 EX(CMD_compiler, "compiler", ex_compiler,
|
|
250 BANG|TRLBAR|WORD1),
|
|
251 EX(CMD_continue, "continue", ex_continue,
|
|
252 TRLBAR|SBOXOK|CMDWIN),
|
|
253 EX(CMD_confirm, "confirm", ex_wrongmodifier,
|
|
254 NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
|
|
255 EX(CMD_copen, "copen", ex_copen,
|
|
256 RANGE|NOTADR|COUNT|TRLBAR),
|
|
257 EX(CMD_cprevious, "cprevious", ex_cnext,
|
|
258 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
259 EX(CMD_cpfile, "cpfile", ex_cnext,
|
|
260 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
261 EX(CMD_cquit, "cquit", ex_cquit,
|
|
262 TRLBAR|BANG),
|
|
263 EX(CMD_crewind, "crewind", ex_cc,
|
|
264 RANGE|NOTADR|COUNT|TRLBAR|BANG),
|
|
265 EX(CMD_cscope, "cscope", do_cscope,
|
|
266 EXTRA|NOTRLCOM|SBOXOK|XFILE),
|
|
267 EX(CMD_cstag, "cstag", do_cstag,
|
|
268 BANG|TRLBAR|WORD1),
|
|
269 EX(CMD_cunmap, "cunmap", ex_unmap,
|
|
270 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
271 EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate,
|
|
272 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
273 EX(CMD_cunmenu, "cunmenu", ex_menu,
|
|
274 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
275 EX(CMD_cwindow, "cwindow", ex_cwindow,
|
|
276 RANGE|NOTADR|COUNT|TRLBAR),
|
|
277 EX(CMD_delete, "delete", ex_operators,
|
|
278 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY),
|
|
279 EX(CMD_debug, "debug", ex_debug,
|
|
280 NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
281 EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy,
|
|
282 RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN),
|
|
283 EX(CMD_delcommand, "delcommand", ex_delcommand,
|
|
284 NEEDARG|WORD1|TRLBAR|CMDWIN),
|
|
285 EX(CMD_delfunction, "delfunction", ex_delfunction,
|
|
286 NEEDARG|WORD1|CMDWIN),
|
|
287 EX(CMD_display, "display", ex_display,
|
|
288 EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
|
|
289 EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
|
|
290 TRLBAR),
|
|
291 EX(CMD_diffget, "diffget", ex_diffgetput,
|
|
292 RANGE|EXTRA|TRLBAR|MODIFY),
|
|
293 EX(CMD_diffpatch, "diffpatch", ex_diffpatch,
|
|
294 EXTRA|FILE1|TRLBAR|MODIFY),
|
|
295 EX(CMD_diffput, "diffput", ex_diffgetput,
|
|
296 RANGE|EXTRA|TRLBAR),
|
|
297 EX(CMD_diffsplit, "diffsplit", ex_diffsplit,
|
|
298 EXTRA|FILE1|TRLBAR),
|
|
299 EX(CMD_diffthis, "diffthis", ex_diffthis,
|
|
300 TRLBAR),
|
|
301 EX(CMD_digraphs, "digraphs", ex_digraphs,
|
|
302 EXTRA|TRLBAR|CMDWIN),
|
|
303 EX(CMD_djump, "djump", ex_findpat,
|
|
304 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
|
|
305 EX(CMD_dlist, "dlist", ex_findpat,
|
|
306 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
|
|
307 EX(CMD_doautocmd, "doautocmd", ex_doautocmd,
|
|
308 EXTRA|TRLBAR|CMDWIN),
|
|
309 EX(CMD_doautoall, "doautoall", ex_doautoall,
|
|
310 EXTRA|TRLBAR|CMDWIN),
|
|
311 EX(CMD_drop, "drop", ex_drop,
|
|
312 FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR),
|
|
313 EX(CMD_dsearch, "dsearch", ex_findpat,
|
|
314 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
|
|
315 EX(CMD_dsplit, "dsplit", ex_findpat,
|
|
316 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
|
|
317 EX(CMD_edit, "edit", ex_edit,
|
|
318 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
319 EX(CMD_echo, "echo", ex_echo,
|
|
320 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
321 EX(CMD_echoerr, "echoerr", ex_execute,
|
|
322 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
323 EX(CMD_echohl, "echohl", ex_echohl,
|
|
324 EXTRA|TRLBAR|SBOXOK|CMDWIN),
|
|
325 EX(CMD_echomsg, "echomsg", ex_execute,
|
|
326 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
327 EX(CMD_echon, "echon", ex_echo,
|
|
328 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
329 EX(CMD_else, "else", ex_else,
|
|
330 TRLBAR|SBOXOK|CMDWIN),
|
|
331 EX(CMD_elseif, "elseif", ex_else,
|
|
332 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
333 EX(CMD_emenu, "emenu", ex_emenu,
|
|
334 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN),
|
|
335 EX(CMD_endif, "endif", ex_endif,
|
|
336 TRLBAR|SBOXOK|CMDWIN),
|
|
337 EX(CMD_endfunction, "endfunction", ex_endfunction,
|
|
338 TRLBAR|CMDWIN),
|
|
339 EX(CMD_endtry, "endtry", ex_endtry,
|
|
340 TRLBAR|SBOXOK|CMDWIN),
|
|
341 EX(CMD_endwhile, "endwhile", ex_endwhile,
|
|
342 TRLBAR|SBOXOK|CMDWIN),
|
|
343 EX(CMD_enew, "enew", ex_edit,
|
|
344 BANG|TRLBAR),
|
|
345 EX(CMD_ex, "ex", ex_edit,
|
|
346 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
347 EX(CMD_execute, "execute", ex_execute,
|
|
348 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
349 EX(CMD_exit, "exit", ex_exit,
|
|
350 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
|
|
351 EX(CMD_file, "file", ex_file,
|
|
352 BANG|FILE1|TRLBAR),
|
|
353 EX(CMD_files, "files", buflist_list,
|
|
354 BANG|TRLBAR|CMDWIN),
|
|
355 EX(CMD_filetype, "filetype", ex_filetype,
|
|
356 EXTRA|TRLBAR|CMDWIN),
|
|
357 EX(CMD_find, "find", ex_find,
|
|
358 RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
359 EX(CMD_finally, "finally", ex_finally,
|
|
360 TRLBAR|SBOXOK|CMDWIN),
|
|
361 EX(CMD_finish, "finish", ex_finish,
|
|
362 TRLBAR|SBOXOK|CMDWIN),
|
|
363 EX(CMD_first, "first", ex_rewind,
|
|
364 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
365 EX(CMD_fixdel, "fixdel", do_fixdel,
|
|
366 TRLBAR|CMDWIN),
|
|
367 EX(CMD_fold, "fold", ex_fold,
|
|
368 RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
|
|
369 EX(CMD_foldclose, "foldclose", ex_foldopen,
|
|
370 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
|
|
371 EX(CMD_folddoopen, "folddoopen", ex_folddo,
|
|
372 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
|
|
373 EX(CMD_folddoclosed, "folddoclosed", ex_folddo,
|
|
374 RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
|
|
375 EX(CMD_foldopen, "foldopen", ex_foldopen,
|
|
376 RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
|
|
377 EX(CMD_function, "function", ex_function,
|
|
378 EXTRA|BANG|CMDWIN),
|
|
379 EX(CMD_global, "global", ex_global,
|
|
380 RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|CMDWIN),
|
|
381 EX(CMD_goto, "goto", ex_goto,
|
|
382 RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN),
|
|
383 EX(CMD_grep, "grep", ex_make,
|
|
384 BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
|
|
385 EX(CMD_grepadd, "grepadd", ex_make,
|
|
386 BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
|
|
387 EX(CMD_gui, "gui", ex_gui,
|
|
388 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
|
|
389 EX(CMD_gvim, "gvim", ex_gui,
|
|
390 BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
|
|
391 EX(CMD_help, "help", ex_help,
|
|
392 BANG|EXTRA|NOTRLCOM),
|
|
393 EX(CMD_helpfind, "helpfind", ex_helpfind,
|
|
394 EXTRA|NOTRLCOM),
|
|
395 EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
|
|
396 EXTRA|NOTRLCOM|NEEDARG),
|
|
397 EX(CMD_helptags, "helptags", ex_helptags,
|
|
398 NEEDARG|FILE1|TRLBAR|CMDWIN),
|
|
399 EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
|
|
400 RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
|
|
401 EX(CMD_highlight, "highlight", ex_highlight,
|
|
402 BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN),
|
|
403 EX(CMD_hide, "hide", ex_hide,
|
|
404 BANG|EXTRA|NOTRLCOM),
|
|
405 EX(CMD_history, "history", ex_history,
|
|
406 EXTRA|TRLBAR|CMDWIN),
|
|
407 EX(CMD_insert, "insert", ex_append,
|
|
408 BANG|RANGE|TRLBAR|CMDWIN|MODIFY),
|
|
409 EX(CMD_iabbrev, "iabbrev", ex_abbreviate,
|
|
410 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
411 EX(CMD_iabclear, "iabclear", ex_abclear,
|
|
412 EXTRA|TRLBAR|CMDWIN),
|
|
413 EX(CMD_if, "if", ex_if,
|
|
414 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
415 EX(CMD_ijump, "ijump", ex_findpat,
|
|
416 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
|
|
417 EX(CMD_ilist, "ilist", ex_findpat,
|
|
418 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
|
|
419 EX(CMD_imap, "imap", ex_map,
|
|
420 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
421 EX(CMD_imapclear, "imapclear", ex_mapclear,
|
|
422 EXTRA|TRLBAR|CMDWIN),
|
|
423 EX(CMD_imenu, "imenu", ex_menu,
|
|
424 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
425 EX(CMD_inoremap, "inoremap", ex_map,
|
|
426 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
427 EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate,
|
|
428 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
429 EX(CMD_inoremenu, "inoremenu", ex_menu,
|
|
430 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
431 EX(CMD_intro, "intro", ex_intro,
|
|
432 TRLBAR|CMDWIN),
|
|
433 EX(CMD_isearch, "isearch", ex_findpat,
|
|
434 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
|
|
435 EX(CMD_isplit, "isplit", ex_findpat,
|
|
436 BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
|
|
437 EX(CMD_iunmap, "iunmap", ex_unmap,
|
|
438 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
439 EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate,
|
|
440 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
441 EX(CMD_iunmenu, "iunmenu", ex_menu,
|
|
442 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
443 EX(CMD_join, "join", ex_join,
|
|
444 BANG|RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY),
|
|
445 EX(CMD_jumps, "jumps", ex_jumps,
|
|
446 TRLBAR|CMDWIN),
|
|
447 EX(CMD_k, "k", ex_mark,
|
|
448 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
|
|
449 EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier,
|
|
450 NEEDARG|EXTRA|NOTRLCOM),
|
|
451 EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
|
|
452 NEEDARG|EXTRA|NOTRLCOM),
|
|
453 EX(CMD_list, "list", ex_print,
|
|
454 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN),
|
|
455 EX(CMD_last, "last", ex_last,
|
|
456 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
457 EX(CMD_language, "language", ex_language,
|
|
458 EXTRA|TRLBAR|CMDWIN),
|
|
459 EX(CMD_lcd, "lcd", ex_cd,
|
|
460 FILE1|TRLBAR|CMDWIN),
|
|
461 EX(CMD_lchdir, "lchdir", ex_cd,
|
|
462 FILE1|TRLBAR|CMDWIN),
|
|
463 EX(CMD_left, "left", ex_align,
|
|
464 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
465 EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
|
|
466 NEEDARG|EXTRA|NOTRLCOM),
|
|
467 EX(CMD_let, "let", ex_let,
|
|
468 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
469 EX(CMD_lmap, "lmap", ex_map,
|
|
470 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
471 EX(CMD_lmapclear, "lmapclear", ex_mapclear,
|
|
472 EXTRA|TRLBAR|CMDWIN),
|
|
473 EX(CMD_lnoremap, "lnoremap", ex_map,
|
|
474 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
475 EX(CMD_loadview, "loadview", ex_loadview,
|
|
476 FILE1|TRLBAR),
|
|
477 EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap,
|
|
478 CMDWIN),
|
|
479 EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier,
|
|
480 NEEDARG|EXTRA|NOTRLCOM),
|
|
481 EX(CMD_lunmap, "lunmap", ex_unmap,
|
|
482 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
483 EX(CMD_ls, "ls", buflist_list,
|
|
484 BANG|TRLBAR|CMDWIN),
|
|
485 EX(CMD_move, "move", ex_copymove,
|
|
486 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
|
|
487 EX(CMD_mark, "mark", ex_mark,
|
|
488 RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
|
|
489 EX(CMD_make, "make", ex_make,
|
|
490 BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
|
|
491 EX(CMD_map, "map", ex_map,
|
|
492 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
493 EX(CMD_mapclear, "mapclear", ex_mapclear,
|
|
494 EXTRA|BANG|TRLBAR|CMDWIN),
|
|
495 EX(CMD_marks, "marks", do_marks,
|
|
496 EXTRA|TRLBAR|CMDWIN),
|
|
497 EX(CMD_match, "match", ex_match,
|
|
498 EXTRA|CMDWIN),
|
|
499 EX(CMD_menu, "menu", ex_menu,
|
|
500 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
501 EX(CMD_menutranslate, "menutranslate", ex_menutranslate,
|
|
502 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
503 EX(CMD_messages, "messages", ex_messages,
|
|
504 TRLBAR|CMDWIN),
|
|
505 EX(CMD_mkexrc, "mkexrc", ex_mkrc,
|
|
506 BANG|FILE1|TRLBAR|CMDWIN),
|
|
507 EX(CMD_mksession, "mksession", ex_mkrc,
|
|
508 BANG|FILE1|TRLBAR),
|
|
509 EX(CMD_mkvimrc, "mkvimrc", ex_mkrc,
|
|
510 BANG|FILE1|TRLBAR|CMDWIN),
|
|
511 EX(CMD_mkview, "mkview", ex_mkrc,
|
|
512 BANG|FILE1|TRLBAR),
|
|
513 EX(CMD_mode, "mode", ex_mode,
|
|
514 WORD1|TRLBAR|CMDWIN),
|
|
515 EX(CMD_next, "next", ex_next,
|
|
516 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
|
517 EX(CMD_new, "new", ex_splitview,
|
|
518 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
|
519 EX(CMD_nmap, "nmap", ex_map,
|
|
520 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
521 EX(CMD_nmapclear, "nmapclear", ex_mapclear,
|
|
522 EXTRA|TRLBAR|CMDWIN),
|
|
523 EX(CMD_nmenu, "nmenu", ex_menu,
|
|
524 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
525 EX(CMD_nnoremap, "nnoremap", ex_map,
|
|
526 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
527 EX(CMD_nnoremenu, "nnoremenu", ex_menu,
|
|
528 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
529 EX(CMD_noremap, "noremap", ex_map,
|
|
530 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
531 EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch,
|
|
532 TRLBAR|SBOXOK|CMDWIN),
|
|
533 EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate,
|
|
534 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
535 EX(CMD_noremenu, "noremenu", ex_menu,
|
|
536 RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
537 EX(CMD_normal, "normal", ex_normal,
|
|
538 RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
|
|
539 EX(CMD_number, "number", ex_print,
|
|
540 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN),
|
|
541 EX(CMD_nunmap, "nunmap", ex_unmap,
|
|
542 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
543 EX(CMD_nunmenu, "nunmenu", ex_menu,
|
|
544 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
545 EX(CMD_open, "open", ex_ni,
|
|
546 TRLBAR), /* not supported */
|
|
547 EX(CMD_omap, "omap", ex_map,
|
|
548 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
549 EX(CMD_omapclear, "omapclear", ex_mapclear,
|
|
550 EXTRA|TRLBAR|CMDWIN),
|
|
551 EX(CMD_omenu, "omenu", ex_menu,
|
|
552 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
553 EX(CMD_only, "only", ex_only,
|
|
554 BANG|TRLBAR),
|
|
555 EX(CMD_onoremap, "onoremap", ex_map,
|
|
556 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
557 EX(CMD_onoremenu, "onoremenu", ex_menu,
|
|
558 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
559 EX(CMD_options, "options", ex_options,
|
|
560 TRLBAR),
|
|
561 EX(CMD_ounmap, "ounmap", ex_unmap,
|
|
562 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
563 EX(CMD_ounmenu, "ounmenu", ex_menu,
|
|
564 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
565 EX(CMD_print, "print", ex_print,
|
|
566 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN),
|
|
567 EX(CMD_pclose, "pclose", ex_pclose,
|
|
568 BANG|TRLBAR),
|
|
569 EX(CMD_perl, "perl", ex_perl,
|
|
570 RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN),
|
|
571 EX(CMD_perldo, "perldo", ex_perldo,
|
|
572 RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN),
|
|
573 EX(CMD_pedit, "pedit", ex_pedit,
|
|
574 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
575 EX(CMD_pop, "pop", ex_tag,
|
|
576 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
|
|
577 EX(CMD_popup, "popup", ex_popup,
|
|
578 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN),
|
|
579 EX(CMD_ppop, "ppop", ex_ptag,
|
|
580 RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
|
|
581 EX(CMD_preserve, "preserve", ex_preserve,
|
|
582 TRLBAR),
|
|
583 EX(CMD_previous, "previous", ex_previous,
|
|
584 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
585 EX(CMD_promptfind, "promptfind", gui_mch_find_dialog,
|
|
586 EXTRA|NOTRLCOM|CMDWIN),
|
|
587 EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog,
|
|
588 EXTRA|NOTRLCOM|CMDWIN),
|
|
589 EX(CMD_psearch, "psearch", ex_psearch,
|
|
590 BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA),
|
|
591 EX(CMD_ptag, "ptag", ex_ptag,
|
|
592 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
|
|
593 EX(CMD_ptNext, "ptNext", ex_ptag,
|
|
594 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
595 EX(CMD_ptfirst, "ptfirst", ex_ptag,
|
|
596 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
597 EX(CMD_ptjump, "ptjump", ex_ptag,
|
|
598 BANG|TRLBAR|WORD1),
|
|
599 EX(CMD_ptlast, "ptlast", ex_ptag,
|
|
600 BANG|TRLBAR),
|
|
601 EX(CMD_ptnext, "ptnext", ex_ptag,
|
|
602 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
603 EX(CMD_ptprevious, "ptprevious", ex_ptag,
|
|
604 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
605 EX(CMD_ptrewind, "ptrewind", ex_ptag,
|
|
606 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
607 EX(CMD_ptselect, "ptselect", ex_ptag,
|
|
608 BANG|TRLBAR|WORD1),
|
|
609 EX(CMD_put, "put", ex_put,
|
|
610 RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY),
|
|
611 EX(CMD_pwd, "pwd", ex_pwd,
|
|
612 TRLBAR|CMDWIN),
|
|
613 EX(CMD_python, "python", ex_python,
|
|
614 RANGE|EXTRA|NEEDARG|CMDWIN),
|
|
615 EX(CMD_pyfile, "pyfile", ex_pyfile,
|
|
616 RANGE|FILE1|NEEDARG|CMDWIN),
|
|
617 EX(CMD_quit, "quit", ex_quit,
|
|
618 BANG|TRLBAR|CMDWIN),
|
|
619 EX(CMD_quitall, "quitall", ex_quit_all,
|
|
620 BANG|TRLBAR),
|
|
621 EX(CMD_qall, "qall", ex_quit_all,
|
|
622 BANG|TRLBAR|CMDWIN),
|
|
623 EX(CMD_read, "read", ex_read,
|
|
624 BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY),
|
|
625 EX(CMD_recover, "recover", ex_recover,
|
|
626 BANG|FILE1|TRLBAR),
|
|
627 EX(CMD_redo, "redo", ex_redo,
|
|
628 TRLBAR|CMDWIN),
|
|
629 EX(CMD_redir, "redir", ex_redir,
|
|
630 BANG|FILES|TRLBAR|CMDWIN),
|
|
631 EX(CMD_redraw, "redraw", ex_redraw,
|
|
632 BANG|TRLBAR|CMDWIN),
|
|
633 EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus,
|
|
634 BANG|TRLBAR|CMDWIN),
|
|
635 EX(CMD_registers, "registers", ex_display,
|
|
636 EXTRA|NOTRLCOM|TRLBAR|CMDWIN),
|
|
637 EX(CMD_resize, "resize", ex_resize,
|
|
638 RANGE|NOTADR|TRLBAR|WORD1),
|
|
639 EX(CMD_retab, "retab", ex_retab,
|
|
640 TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY),
|
|
641 EX(CMD_return, "return", ex_return,
|
|
642 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
643 EX(CMD_rewind, "rewind", ex_rewind,
|
|
644 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
645 EX(CMD_right, "right", ex_align,
|
|
646 TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
647 EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier,
|
|
648 NEEDARG|EXTRA|NOTRLCOM),
|
|
649 EX(CMD_runtime, "runtime", ex_runtime,
|
|
650 BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN),
|
|
651 EX(CMD_ruby, "ruby", ex_ruby,
|
|
652 RANGE|EXTRA|NEEDARG|CMDWIN),
|
|
653 EX(CMD_rubydo, "rubydo", ex_rubydo,
|
|
654 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
|
|
655 EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
|
|
656 RANGE|FILE1|NEEDARG|CMDWIN),
|
|
657 EX(CMD_rviminfo, "rviminfo", ex_viminfo,
|
|
658 BANG|FILE1|TRLBAR|CMDWIN),
|
|
659 EX(CMD_substitute, "substitute", do_sub,
|
|
660 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
661 EX(CMD_sNext, "sNext", ex_previous,
|
|
662 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
663 EX(CMD_sargument, "sargument", ex_argument,
|
|
664 BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
|
|
665 EX(CMD_sall, "sall", ex_all,
|
|
666 RANGE|NOTADR|COUNT|TRLBAR),
|
|
667 EX(CMD_saveas, "saveas", ex_write,
|
|
668 BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR),
|
|
669 EX(CMD_sbuffer, "sbuffer", ex_buffer,
|
|
670 BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
|
|
671 EX(CMD_sbNext, "sbNext", ex_bprevious,
|
|
672 RANGE|NOTADR|COUNT|TRLBAR),
|
|
673 EX(CMD_sball, "sball", ex_buffer_all,
|
|
674 RANGE|NOTADR|COUNT|TRLBAR),
|
|
675 EX(CMD_sbfirst, "sbfirst", ex_brewind,
|
|
676 TRLBAR),
|
|
677 EX(CMD_sblast, "sblast", ex_blast,
|
|
678 TRLBAR),
|
|
679 EX(CMD_sbmodified, "sbmodified", ex_bmodified,
|
|
680 RANGE|NOTADR|COUNT|TRLBAR),
|
|
681 EX(CMD_sbnext, "sbnext", ex_bnext,
|
|
682 RANGE|NOTADR|COUNT|TRLBAR),
|
|
683 EX(CMD_sbprevious, "sbprevious", ex_bprevious,
|
|
684 RANGE|NOTADR|COUNT|TRLBAR),
|
|
685 EX(CMD_sbrewind, "sbrewind", ex_brewind,
|
|
686 TRLBAR),
|
|
687 EX(CMD_scriptnames, "scriptnames", ex_scriptnames,
|
|
688 TRLBAR|CMDWIN),
|
|
689 EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
|
|
690 WORD1|TRLBAR|CMDWIN),
|
|
691 EX(CMD_scscope, "scscope", do_scscope,
|
|
692 EXTRA|NOTRLCOM|SBOXOK),
|
|
693 EX(CMD_set, "set", ex_set,
|
|
694 TRLBAR|EXTRA|CMDWIN|SBOXOK),
|
|
695 EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
|
|
696 TRLBAR|EXTRA|NEEDARG|CMDWIN),
|
|
697 EX(CMD_setglobal, "setglobal", ex_set,
|
|
698 TRLBAR|EXTRA|CMDWIN),
|
|
699 EX(CMD_setlocal, "setlocal", ex_set,
|
|
700 TRLBAR|EXTRA|CMDWIN),
|
|
701 EX(CMD_sfind, "sfind", ex_splitview,
|
|
702 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
|
703 EX(CMD_sfirst, "sfirst", ex_rewind,
|
|
704 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
705 EX(CMD_shell, "shell", ex_shell,
|
|
706 TRLBAR|CMDWIN),
|
|
707 EX(CMD_simalt, "simalt", ex_simalt,
|
|
708 NEEDARG|WORD1|TRLBAR|CMDWIN),
|
|
709 EX(CMD_sign, "sign", ex_sign,
|
|
710 NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN),
|
|
711 EX(CMD_silent, "silent", ex_wrongmodifier,
|
|
712 NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN),
|
|
713 EX(CMD_sleep, "sleep", ex_sleep,
|
|
714 RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN),
|
|
715 EX(CMD_slast, "slast", ex_last,
|
|
716 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
717 EX(CMD_smagic, "smagic", ex_submagic,
|
|
718 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
719 EX(CMD_snext, "snext", ex_next,
|
|
720 RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
|
721 EX(CMD_sniff, "sniff", ex_sniff,
|
|
722 EXTRA|TRLBAR),
|
|
723 EX(CMD_snomagic, "snomagic", ex_submagic,
|
|
724 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
725 EX(CMD_source, "source", ex_source,
|
|
726 BANG|FILE1|TRLBAR|SBOXOK|CMDWIN),
|
|
727 EX(CMD_split, "split", ex_splitview,
|
|
728 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
|
729 EX(CMD_sprevious, "sprevious", ex_previous,
|
|
730 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
731 EX(CMD_srewind, "srewind", ex_rewind,
|
|
732 EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
733 EX(CMD_stop, "stop", ex_stop,
|
|
734 TRLBAR|BANG|CMDWIN),
|
|
735 EX(CMD_stag, "stag", ex_stag,
|
|
736 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
|
|
737 EX(CMD_startinsert, "startinsert", ex_startinsert,
|
|
738 BANG|TRLBAR|CMDWIN),
|
|
739 EX(CMD_stopinsert, "stopinsert", ex_stopinsert,
|
|
740 BANG|TRLBAR|CMDWIN),
|
|
741 EX(CMD_stjump, "stjump", ex_stag,
|
|
742 BANG|TRLBAR|WORD1),
|
|
743 EX(CMD_stselect, "stselect", ex_stag,
|
|
744 BANG|TRLBAR|WORD1),
|
|
745 EX(CMD_sunhide, "sunhide", ex_buffer_all,
|
|
746 RANGE|NOTADR|COUNT|TRLBAR),
|
|
747 EX(CMD_suspend, "suspend", ex_stop,
|
|
748 TRLBAR|BANG|CMDWIN),
|
|
749 EX(CMD_sview, "sview", ex_splitview,
|
|
750 NEEDARG|RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
751 EX(CMD_swapname, "swapname", ex_swapname,
|
|
752 TRLBAR|CMDWIN),
|
|
753 EX(CMD_syntax, "syntax", ex_syntax,
|
|
754 EXTRA|NOTRLCOM|CMDWIN),
|
|
755 EX(CMD_syncbind, "syncbind", ex_syncbind,
|
|
756 TRLBAR),
|
|
757 EX(CMD_t, "t", ex_copymove,
|
|
758 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
|
|
759 EX(CMD_tNext, "tNext", ex_tag,
|
|
760 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
761 EX(CMD_tag, "tag", ex_tag,
|
|
762 RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
|
|
763 EX(CMD_tags, "tags", do_tags,
|
|
764 TRLBAR|CMDWIN),
|
|
765 EX(CMD_tcl, "tcl", ex_tcl,
|
|
766 RANGE|EXTRA|NEEDARG|CMDWIN),
|
|
767 EX(CMD_tcldo, "tcldo", ex_tcldo,
|
|
768 RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
|
|
769 EX(CMD_tclfile, "tclfile", ex_tclfile,
|
|
770 RANGE|FILE1|NEEDARG|CMDWIN),
|
|
771 EX(CMD_tearoff, "tearoff", ex_tearoff,
|
|
772 NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN),
|
|
773 EX(CMD_tfirst, "tfirst", ex_tag,
|
|
774 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
775 EX(CMD_throw, "throw", ex_throw,
|
|
776 EXTRA|NEEDARG|SBOXOK|CMDWIN),
|
|
777 EX(CMD_tjump, "tjump", ex_tag,
|
|
778 BANG|TRLBAR|WORD1),
|
|
779 EX(CMD_tlast, "tlast", ex_tag,
|
|
780 BANG|TRLBAR),
|
|
781 EX(CMD_tmenu, "tmenu", ex_menu,
|
|
782 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
783 EX(CMD_tnext, "tnext", ex_tag,
|
|
784 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
785 EX(CMD_topleft, "topleft", ex_wrongmodifier,
|
|
786 NEEDARG|EXTRA|NOTRLCOM),
|
|
787 EX(CMD_tprevious, "tprevious", ex_tag,
|
|
788 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
789 EX(CMD_trewind, "trewind", ex_tag,
|
|
790 RANGE|NOTADR|BANG|TRLBAR|ZEROR),
|
|
791 EX(CMD_try, "try", ex_try,
|
|
792 TRLBAR|SBOXOK|CMDWIN),
|
|
793 EX(CMD_tselect, "tselect", ex_tag,
|
|
794 BANG|TRLBAR|WORD1),
|
|
795 EX(CMD_tunmenu, "tunmenu", ex_menu,
|
|
796 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
797 EX(CMD_undo, "undo", ex_undo,
|
|
798 TRLBAR|CMDWIN),
|
|
799 EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate,
|
|
800 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
801 EX(CMD_unhide, "unhide", ex_buffer_all,
|
|
802 RANGE|NOTADR|COUNT|TRLBAR),
|
|
803 EX(CMD_unlet, "unlet", ex_unlet,
|
|
804 BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
|
|
805 EX(CMD_unmap, "unmap", ex_unmap,
|
|
806 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
807 EX(CMD_unmenu, "unmenu", ex_menu,
|
|
808 BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
809 EX(CMD_update, "update", ex_update,
|
|
810 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
|
|
811 EX(CMD_vglobal, "vglobal", ex_global,
|
|
812 RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN),
|
|
813 EX(CMD_version, "version", ex_version,
|
|
814 EXTRA|TRLBAR|CMDWIN),
|
|
815 EX(CMD_verbose, "verbose", ex_wrongmodifier,
|
|
816 NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
817 EX(CMD_vertical, "vertical", ex_wrongmodifier,
|
|
818 NEEDARG|EXTRA|NOTRLCOM),
|
|
819 EX(CMD_visual, "visual", ex_edit,
|
|
820 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
821 EX(CMD_view, "view", ex_edit,
|
|
822 BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
|
|
823 EX(CMD_vmap, "vmap", ex_map,
|
|
824 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
825 EX(CMD_vmapclear, "vmapclear", ex_mapclear,
|
|
826 EXTRA|TRLBAR|CMDWIN),
|
|
827 EX(CMD_vmenu, "vmenu", ex_menu,
|
|
828 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
829 EX(CMD_vnoremap, "vnoremap", ex_map,
|
|
830 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
831 EX(CMD_vnew, "vnew", ex_splitview,
|
|
832 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
|
833 EX(CMD_vnoremenu, "vnoremenu", ex_menu,
|
|
834 RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
835 EX(CMD_vsplit, "vsplit", ex_splitview,
|
|
836 BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
|
837 EX(CMD_vunmap, "vunmap", ex_unmap,
|
|
838 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
839 EX(CMD_vunmenu, "vunmenu", ex_menu,
|
|
840 EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
|
841 EX(CMD_write, "write", ex_write,
|
|
842 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
|
|
843 EX(CMD_wNext, "wNext", ex_wnext,
|
|
844 RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
|
|
845 EX(CMD_wall, "wall", do_wqall,
|
|
846 BANG|TRLBAR|CMDWIN),
|
|
847 EX(CMD_while, "while", ex_while,
|
|
848 EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
|
849 EX(CMD_winsize, "winsize", ex_winsize,
|
|
850 EXTRA|NEEDARG|TRLBAR),
|
|
851 EX(CMD_wincmd, "wincmd", ex_wincmd,
|
|
852 NEEDARG|WORD1|RANGE|NOTADR),
|
|
853 EX(CMD_windo, "windo", ex_listdo,
|
|
854 BANG|NEEDARG|EXTRA|NOTRLCOM),
|
|
855 EX(CMD_winpos, "winpos", ex_winpos,
|
|
856 EXTRA|TRLBAR|CMDWIN),
|
|
857 EX(CMD_wnext, "wnext", ex_wnext,
|
|
858 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
|
|
859 EX(CMD_wprevious, "wprevious", ex_wnext,
|
|
860 RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
|
|
861 EX(CMD_wq, "wq", ex_exit,
|
|
862 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
|
|
863 EX(CMD_wqall, "wqall", do_wqall,
|
|
864 BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
|
|
865 EX(CMD_wsverb, "wsverb", ex_wsverb,
|
|
866 EXTRA|NOTADR|NEEDARG),
|
|
867 EX(CMD_wviminfo, "wviminfo", ex_viminfo,
|
|
868 BANG|FILE1|TRLBAR|CMDWIN),
|
|
869 EX(CMD_xit, "xit", ex_exit,
|
|
870 RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
|
|
871 EX(CMD_xall, "xall", do_wqall,
|
|
872 BANG|TRLBAR),
|
|
873 EX(CMD_yank, "yank", ex_operators,
|
|
874 RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN),
|
|
875 EX(CMD_z, "z", ex_z,
|
|
876 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
|
|
877
|
|
878 /* commands that don't start with a lowercase letter */
|
|
879 EX(CMD_bang, "!", ex_bang,
|
|
880 RANGE|WHOLEFOLD|BANG|FILES|CMDWIN),
|
|
881 EX(CMD_pound, "#", ex_print,
|
|
882 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN),
|
|
883 EX(CMD_and, "&", do_sub,
|
|
884 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
885 EX(CMD_star, "*", ex_at,
|
|
886 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
|
|
887 EX(CMD_lshift, "<", ex_operators,
|
|
888 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY),
|
|
889 EX(CMD_equal, "=", ex_equal,
|
|
890 RANGE|TRLBAR|DFLALL|CMDWIN),
|
|
891 EX(CMD_rshift, ">", ex_operators,
|
|
892 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN|MODIFY),
|
|
893 EX(CMD_at, "@", ex_at,
|
|
894 RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
|
|
895 EX(CMD_Next, "Next", ex_previous,
|
|
896 EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
|
|
897 EX(CMD_Print, "Print", ex_print,
|
|
898 RANGE|WHOLEFOLD|COUNT|TRLBAR|CMDWIN),
|
|
899 EX(CMD_X, "X", ex_X,
|
|
900 TRLBAR),
|
|
901 EX(CMD_tilde, "~", do_sub,
|
|
902 RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
|
903
|
|
904 #ifndef DO_DECLARE_EXCMD
|
|
905 #ifdef FEAT_USR_CMDS
|
|
906 CMD_SIZE, /* MUST be after all real commands! */
|
|
907 CMD_USER = -1, /* User-defined command */
|
|
908 CMD_USER_BUF = -2 /* User-defined command local to buffer */
|
|
909 #else
|
|
910 CMD_SIZE /* MUST be the last one! */
|
|
911 #endif
|
|
912 #endif
|
|
913 };
|
|
914
|
|
915 #define USER_CMDIDX(idx) ((int)(idx) < 0)
|
|
916
|
|
917 #ifndef DO_DECLARE_EXCMD
|
|
918 typedef enum CMD_index cmdidx_T;
|
|
919
|
|
920 /*
|
|
921 * Arguments used for Ex commands.
|
|
922 */
|
|
923 struct exarg
|
|
924 {
|
|
925 char_u *arg; /* argument of the command */
|
|
926 char_u *nextcmd; /* next command (NULL if none) */
|
|
927 char_u *cmd; /* the name of the command (except for :make) */
|
|
928 char_u **cmdlinep; /* pointer to pointer of allocated cmdline */
|
|
929 cmdidx_T cmdidx; /* the index for the command */
|
|
930 long argt; /* flags for the command */
|
|
931 int skip; /* don't execute the command, only parse it */
|
|
932 int forceit; /* TRUE if ! present */
|
|
933 int addr_count; /* the number of addresses given */
|
|
934 linenr_T line1; /* the first line number */
|
|
935 linenr_T line2; /* the second line number or count */
|
|
936 char_u *do_ecmd_cmd; /* +command arg to be used in edited file */
|
|
937 linenr_T do_ecmd_lnum; /* the line number in an edited file */
|
|
938 int append; /* TRUE with ":w >>file" command */
|
|
939 int usefilter; /* TRUE with ":w !command" and ":r!command" */
|
|
940 int amount; /* number of '>' or '<' for shift command */
|
|
941 int regname; /* register name (NUL if none) */
|
|
942 int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */
|
|
943 int force_ff; /* forced 'fileformat' (index in cmd[]) */
|
|
944 #ifdef FEAT_MBYTE
|
|
945 int force_enc; /* forced 'encoding' (index in cmd[]) */
|
|
946 #endif
|
|
947 #ifdef FEAT_USR_CMDS
|
|
948 int useridx; /* user command index */
|
|
949 #endif
|
|
950 char_u *errmsg; /* returned error message */
|
|
951 char_u *(*getline) __ARGS((int, void *, int));
|
|
952 void *cookie; /* argument for getline() */
|
|
953 #ifdef FEAT_EVAL
|
|
954 struct condstack *cstack; /* condition stack for ":if" etc. */
|
|
955 #endif
|
|
956 };
|
|
957
|
|
958 #define FORCE_BIN 1 /* ":edit ++bin file" */
|
|
959 #define FORCE_NOBIN 2 /* ":edit ++nobin file" */
|
|
960
|
|
961 #endif
|