aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2014-06-14 00:31:55 +0400
committerZyX <kp-pav@yandex.ru>2014-08-20 20:21:37 +0400
commit3becb5fd21c45bb58e27768ce900da8abc4dbc73 (patch)
treee5a7f8da7b691d3d355d20de312da8404a8ef7c2
parentbbefc73c553d681f78f40df9d97ec89ae9b06520 (diff)
downloadrneovim-3becb5fd21c45bb58e27768ce900da8abc4dbc73.tar.gz
rneovim-3becb5fd21c45bb58e27768ce900da8abc4dbc73.tar.bz2
rneovim-3becb5fd21c45bb58e27768ce900da8abc4dbc73.zip
Use lua generator in place of ex_cmds_defs header trick
Closes #788 Fixes #379 Ref #549
-rw-r--r--scripts/genex_cmds.lua87
-rwxr-xr-xscripts/transform_ex_cmds_defs.pl70
-rw-r--r--src/nvim/CMakeLists.txt17
-rw-r--r--src/nvim/ex_cmds.lua2547
-rw-r--r--src/nvim/ex_cmds_defs.h1140
-rw-r--r--src/nvim/ex_docmd.c40
-rw-r--r--src/nvim/ex_docmd.h4
7 files changed, 2770 insertions, 1135 deletions
diff --git a/scripts/genex_cmds.lua b/scripts/genex_cmds.lua
new file mode 100644
index 0000000000..969a874535
--- /dev/null
+++ b/scripts/genex_cmds.lua
@@ -0,0 +1,87 @@
+local nvimsrcdir = arg[1]
+local includedir = arg[2]
+local autodir = arg[3]
+
+if nvimsrcdir == '--help' then
+ print ([[
+Usage:
+ lua genex_cmds.lua src/nvim build/include build/src/nvim/auto
+
+Will generate files build/include/ex_cmds_enum.generated.h with cmdidx_T
+enum and build/src/nvim/auto/ex_cmds_defs.generated.h with main Ex commands
+definitions.
+]])
+ os.exit(0)
+end
+
+package.path = nvimsrcdir .. '/?.lua;' .. package.path
+
+local enumfname = includedir .. '/ex_cmds_enum.generated.h'
+local defsfname = autodir .. '/ex_cmds_defs.generated.h'
+
+local enumfile = io.open(enumfname, 'w')
+local defsfile = io.open(defsfname, 'w')
+
+local defs = require('ex_cmds')
+local lastchar = nil
+
+local i
+local cmd
+local first = true
+local prevfirstchar = nil
+
+local byte_a = string.byte('a')
+local byte_z = string.byte('z')
+
+local cmdidxs = string.format([[
+static cmdidx_T cmdidxs[%u] = {
+]], byte_z - byte_a + 2)
+
+enumfile:write([[
+typedef enum CMD_index {
+]])
+defsfile:write([[
+static CommandDefinition cmdnames[] = {
+]])
+for i, cmd in ipairs(defs) do
+ local enumname = cmd.enum or ('CMD_' .. cmd.command)
+ firstchar = string.byte(cmd.command)
+ if firstchar ~= prevfirstchar then
+ if (not prevfirstchar
+ or (byte_a <= firstchar and firstchar <= byte_z)
+ or (byte_a <= prevfirstchar and prevfirstchar <= byte_z)) then
+ if not first then
+ cmdidxs = cmdidxs .. ',\n'
+ end
+ cmdidxs = cmdidxs .. ' ' .. enumname
+ end
+ prevfirstchar = firstchar
+ end
+ if first then
+ first = false
+ else
+ defsfile:write(',\n')
+ end
+ enumfile:write(' ' .. enumname .. ',\n')
+ defsfile:write(string.format([[
+ [%s] = {
+ .cmd_name = (char_u *) "%s",
+ .cmd_func = &%s,
+ .cmd_argt = %uL
+ }]], enumname, cmd.command, cmd.func, cmd.flags))
+end
+defsfile:write([[
+
+};
+]])
+enumfile:write([[
+ CMD_SIZE,
+ CMD_USER = -1,
+ CMD_USER_BUF = -2
+} cmdidx_T;
+]])
+cmdidxs = cmdidxs .. [[
+
+};
+]]
+defsfile:write(cmdidxs)
diff --git a/scripts/transform_ex_cmds_defs.pl b/scripts/transform_ex_cmds_defs.pl
new file mode 100755
index 0000000000..b340265992
--- /dev/null
+++ b/scripts/transform_ex_cmds_defs.pl
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+no utf8;
+
+my $srcfname = shift @ARGV;
+my $tgtfname = shift @ARGV;
+
+if ($srcfname eq "--help") {
+ print << "EOF";
+$0 path/to/ex_cmds_defs.h path/to/ex_cmds.lua
+
+ Translate Ex commands defines from old format to new one.
+EOF
+}
+
+my $flag_const = qr((?:[A-Z]+[A-Z1-9]));
+
+my $F;
+open $F, "<", "$srcfname"
+ or die "Failed to open $srcfname";
+
+my $T;
+open $T, ">", "$tgtfname"
+ or die "Failed to open $tgtfname";
+
+my ($enum_name, $cmd_name, $cmd_func);
+my ($flags);
+my $did_header = 0;
+while (<$F>) {
+ if (/^#define\s+($flag_const)\s+(.*)/) {
+ my $const_name = $1;
+ my $const_value = $2;
+ $const_value =~ s@/\*.*|//.*@@g;
+ $const_value =~ s/\s+//g;
+ $const_value =~ s/\|/+/g;
+ $const_value =~ s/(?<=\d)L//g;
+ print $T "local $const_name = $const_value\n";
+ } elsif (/^\{/../^\}/) {
+ if (/^\s*EX\(\s*CMD_(\w+)\s*,\s*"((?:\\.|[^"\\])+)"\s*,\s*(\w+)\s*,\s*$/) {
+ $enum_name = $1;
+ $cmd_name = $2;
+ $cmd_func = $3;
+ } elsif (defined $enum_name and /^\s*($flag_const(?:\|$flag_const)*|0)/) {
+ if (not $did_header) {
+ print $T "return {\n";
+ $did_header = 1;
+ }
+ $flags = $1;
+ $flags =~ s/\|/+/g;
+ local $\ = "\n";
+ print $T " {";
+ print $T " command='$cmd_name',";
+ print $T " enum='CMD_$enum_name',"
+ if ($cmd_name ne $enum_name);
+ print $T " flags=$flags,";
+ print $T " func='$cmd_func',";
+ print $T " },";
+ undef $enum_name;
+ undef $cmd_name;
+ undef $cmd_func;
+ undef $flags;
+ } else {
+ next;
+ }
+ }
+}
+
+print $T "}\n";
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 951cd9ded1..83de3347bd 100644
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -7,6 +7,10 @@ set(MSGPACK_RPC_HEADER ${PROJECT_SOURCE_DIR}/src/nvim/os/msgpack_rpc.h)
set(MSGPACK_DISPATCH ${GENERATED_DIR}/msgpack_dispatch.c)
set(HEADER_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gendeclarations.lua)
set(GENERATED_INCLUDES_DIR ${PROJECT_BINARY_DIR}/include)
+set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h)
+set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h)
+set(EX_CMDS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genex_cmds.lua)
+set(EX_CMDS_DEFS_FILE ${PROJECT_SOURCE_DIR}/src/nvim/ex_cmds.lua)
include_directories(${GENERATED_DIR})
include_directories(${GENERATED_INCLUDES_DIR})
@@ -124,11 +128,20 @@ add_custom_command(OUTPUT ${MSGPACK_DISPATCH}
${API_HEADERS}
${MSGPACK_RPC_HEADER}
${DISPATCH_GENERATOR}
- )
+)
list(APPEND NEOVIM_GENERATED_SOURCES
"${PROJECT_BINARY_DIR}/config/auto/pathdef.c"
- "${MSGPACK_DISPATCH}")
+ "${MSGPACK_DISPATCH}"
+ "${GENERATED_EX_CMDS_ENUM}"
+ "${GENERATED_EX_CMDS_DEFS}"
+)
+
+add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}
+ COMMAND ${LUA_PRG} ${EX_CMDS_GENERATOR}
+ ${PROJECT_SOURCE_DIR}/src/nvim ${GENERATED_INCLUDES_DIR} ${GENERATED_DIR}
+ DEPENDS ${EX_CMDS_GENERATOR} ${EX_CMDS_DEFS_FILE}
+)
# Our dependencies come first.
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua
new file mode 100644
index 0000000000..6ed1f2a46a
--- /dev/null
+++ b/src/nvim/ex_cmds.lua
@@ -0,0 +1,2547 @@
+local RANGE = 0x001
+local BANG = 0x002
+local EXTRA = 0x004
+local XFILE = 0x008
+local NOSPC = 0x010
+local DFLALL = 0x020
+local WHOLEFOLD = 0x040
+local NEEDARG = 0x080
+local TRLBAR = 0x100
+local REGSTR = 0x200
+local COUNT = 0x400
+local NOTRLCOM = 0x800
+local ZEROR = 0x1000
+local USECTRLV = 0x2000
+local NOTADR = 0x4000
+local EDITCMD = 0x8000
+local BUFNAME = 0x10000
+local BUFUNL = 0x20000
+local ARGOPT = 0x40000
+local SBOXOK = 0x80000
+local CMDWIN = 0x100000
+local MODIFY = 0x200000
+local EXFLAGS = 0x400000
+local FILES = (XFILE+EXTRA)
+local WORD1 = (EXTRA+NOSPC)
+local FILE1 = (FILES+NOSPC)
+return {
+ {
+ command='append',
+ flags=BANG+RANGE+ZEROR+TRLBAR+CMDWIN+MODIFY,
+ func='ex_append',
+ },
+ {
+ command='abbreviate',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='abclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_abclear',
+ },
+ {
+ command='aboveleft',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='all',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_all',
+ },
+ {
+ command='amenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='anoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='args',
+ flags=BANG+FILES+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_args',
+ },
+ {
+ command='argadd',
+ flags=BANG+NEEDARG+RANGE+NOTADR+ZEROR+FILES+TRLBAR,
+ func='ex_argadd',
+ },
+ {
+ command='argdelete',
+ flags=BANG+RANGE+NOTADR+FILES+TRLBAR,
+ func='ex_argdelete',
+ },
+ {
+ command='argdo',
+ flags=BANG+NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_listdo',
+ },
+ {
+ command='argedit',
+ flags=BANG+NEEDARG+RANGE+NOTADR+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_argedit',
+ },
+ {
+ command='argglobal',
+ flags=BANG+FILES+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_args',
+ },
+ {
+ command='arglocal',
+ flags=BANG+FILES+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_args',
+ },
+ {
+ command='argument',
+ flags=BANG+RANGE+NOTADR+COUNT+EXTRA+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_argument',
+ },
+ {
+ command='ascii',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='do_ascii',
+ },
+ {
+ command='autocmd',
+ flags=BANG+EXTRA+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_autocmd',
+ },
+ {
+ command='augroup',
+ flags=BANG+WORD1+TRLBAR+CMDWIN,
+ func='ex_autocmd',
+ },
+ {
+ command='aunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='buffer',
+ flags=BANG+RANGE+NOTADR+BUFNAME+BUFUNL+COUNT+EXTRA+TRLBAR,
+ func='ex_buffer',
+ },
+ {
+ command='bNext',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bprevious',
+ },
+ {
+ command='ball',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_buffer_all',
+ },
+ {
+ command='badd',
+ flags=NEEDARG+FILE1+EDITCMD+TRLBAR+CMDWIN,
+ func='ex_edit',
+ },
+ {
+ command='bdelete',
+ flags=BANG+RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR,
+ func='ex_bunload',
+ },
+ {
+ command='behave',
+ flags=NEEDARG+WORD1+TRLBAR+CMDWIN,
+ func='ex_behave',
+ },
+ {
+ command='belowright',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='bfirst',
+ flags=BANG+RANGE+NOTADR+TRLBAR,
+ func='ex_brewind',
+ },
+ {
+ command='blast',
+ flags=BANG+RANGE+NOTADR+TRLBAR,
+ func='ex_blast',
+ },
+ {
+ command='bmodified',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bmodified',
+ },
+ {
+ command='bnext',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bnext',
+ },
+ {
+ command='botright',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='bprevious',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bprevious',
+ },
+ {
+ command='brewind',
+ flags=BANG+RANGE+NOTADR+TRLBAR,
+ func='ex_brewind',
+ },
+ {
+ command='break',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_break',
+ },
+ {
+ command='breakadd',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_breakadd',
+ },
+ {
+ command='breakdel',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_breakdel',
+ },
+ {
+ command='breaklist',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_breaklist',
+ },
+ {
+ command='browse',
+ flags=NEEDARG+EXTRA+NOTRLCOM+CMDWIN,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='buffers',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='buflist_list',
+ },
+ {
+ command='bufdo',
+ flags=BANG+NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_listdo',
+ },
+ {
+ command='bunload',
+ flags=BANG+RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR,
+ func='ex_bunload',
+ },
+ {
+ command='bwipeout',
+ flags=BANG+RANGE+NOTADR+BUFNAME+BUFUNL+COUNT+EXTRA+TRLBAR,
+ func='ex_bunload',
+ },
+ {
+ command='change',
+ flags=BANG+WHOLEFOLD+RANGE+COUNT+TRLBAR+CMDWIN+MODIFY,
+ func='ex_change',
+ },
+ {
+ command='cNext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cNfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='cabclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_abclear',
+ },
+ {
+ command='caddbuffer',
+ flags=RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='caddexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR,
+ func='ex_cexpr',
+ },
+ {
+ command='caddfile',
+ flags=TRLBAR+FILE1,
+ func='ex_cfile',
+ },
+ {
+ command='call',
+ flags=RANGE+NEEDARG+EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_call',
+ },
+ {
+ command='catch',
+ flags=EXTRA+SBOXOK+CMDWIN,
+ func='ex_catch',
+ },
+ {
+ command='cbuffer',
+ flags=BANG+RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='cc',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='cclose',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_cclose',
+ },
+ {
+ command='cd',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_cd',
+ },
+ {
+ command='center',
+ flags=TRLBAR+RANGE+WHOLEFOLD+EXTRA+CMDWIN+MODIFY,
+ func='ex_align',
+ },
+ {
+ command='cexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR+BANG,
+ func='ex_cexpr',
+ },
+ {
+ command='cfile',
+ flags=TRLBAR+FILE1+BANG,
+ func='ex_cfile',
+ },
+ {
+ command='cfirst',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='cgetfile',
+ flags=TRLBAR+FILE1,
+ func='ex_cfile',
+ },
+ {
+ command='cgetbuffer',
+ flags=RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='cgetexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR,
+ func='ex_cexpr',
+ },
+ {
+ command='chdir',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_cd',
+ },
+ {
+ command='changes',
+ flags=TRLBAR+CMDWIN,
+ func='ex_changes',
+ },
+ {
+ command='checkpath',
+ flags=TRLBAR+BANG+CMDWIN,
+ func='ex_checkpath',
+ },
+ {
+ command='checktime',
+ flags=RANGE+NOTADR+BUFNAME+COUNT+EXTRA+TRLBAR,
+ func='ex_checktime',
+ },
+ {
+ command='clist',
+ flags=BANG+EXTRA+TRLBAR+CMDWIN,
+ func='qf_list',
+ },
+ {
+ command='clast',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='close',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_close',
+ },
+ {
+ command='cmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='cmapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='cmenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='cnext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cnewer',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='qf_age',
+ },
+ {
+ command='cnfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cnoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='cnoreabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='cnoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='copy',
+ flags=RANGE+WHOLEFOLD+EXTRA+TRLBAR+CMDWIN+MODIFY,
+ func='ex_copymove',
+ },
+ {
+ command='colder',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='qf_age',
+ },
+ {
+ command='colorscheme',
+ flags=WORD1+TRLBAR+CMDWIN,
+ func='ex_colorscheme',
+ },
+ {
+ command='command',
+ flags=EXTRA+BANG+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_command',
+ },
+ {
+ command='comclear',
+ flags=TRLBAR+CMDWIN,
+ func='ex_comclear',
+ },
+ {
+ command='compiler',
+ flags=BANG+TRLBAR+WORD1+CMDWIN,
+ func='ex_compiler',
+ },
+ {
+ command='continue',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_continue',
+ },
+ {
+ command='confirm',
+ flags=NEEDARG+EXTRA+NOTRLCOM+CMDWIN,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='copen',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_copen',
+ },
+ {
+ command='cprevious',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cpfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='cquit',
+ flags=TRLBAR+BANG,
+ func='ex_cquit',
+ },
+ {
+ command='crewind',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='cscope',
+ flags=EXTRA+NOTRLCOM+XFILE,
+ func='do_cscope',
+ },
+ {
+ command='cstag',
+ flags=BANG+TRLBAR+WORD1,
+ func='do_cstag',
+ },
+ {
+ command='cunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='cunabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='cunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='cwindow',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_cwindow',
+ },
+ {
+ command='delete',
+ flags=RANGE+WHOLEFOLD+REGSTR+COUNT+TRLBAR+CMDWIN+MODIFY,
+ func='ex_operators',
+ },
+ {
+ command='delmarks',
+ flags=BANG+EXTRA+TRLBAR+CMDWIN,
+ func='ex_delmarks',
+ },
+ {
+ command='debug',
+ flags=NEEDARG+EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_debug',
+ },
+ {
+ command='debuggreedy',
+ flags=RANGE+NOTADR+ZEROR+TRLBAR+CMDWIN,
+ func='ex_debuggreedy',
+ },
+ {
+ command='delcommand',
+ flags=NEEDARG+WORD1+TRLBAR+CMDWIN,
+ func='ex_delcommand',
+ },
+ {
+ command='delfunction',
+ flags=NEEDARG+WORD1+CMDWIN,
+ func='ex_delfunction',
+ },
+ {
+ command='display',
+ flags=EXTRA+NOTRLCOM+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_display',
+ },
+ {
+ command='diffupdate',
+ flags=BANG+TRLBAR,
+ func='ex_diffupdate',
+ },
+ {
+ command='diffget',
+ flags=RANGE+EXTRA+TRLBAR+MODIFY,
+ func='ex_diffgetput',
+ },
+ {
+ command='diffoff',
+ flags=BANG+TRLBAR,
+ func='ex_diffoff',
+ },
+ {
+ command='diffpatch',
+ flags=EXTRA+FILE1+TRLBAR+MODIFY,
+ func='ex_diffpatch',
+ },
+ {
+ command='diffput',
+ flags=RANGE+EXTRA+TRLBAR,
+ func='ex_diffgetput',
+ },
+ {
+ command='diffsplit',
+ flags=EXTRA+FILE1+TRLBAR,
+ func='ex_diffsplit',
+ },
+ {
+ command='diffthis',
+ flags=TRLBAR,
+ func='ex_diffthis',
+ },
+ {
+ command='digraphs',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_digraphs',
+ },
+ {
+ command='djump',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA,
+ func='ex_findpat',
+ },
+ {
+ command='dlist',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_findpat',
+ },
+ {
+ command='doautocmd',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_doautocmd',
+ },
+ {
+ command='doautoall',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_doautoall',
+ },
+ {
+ command='drop',
+ flags=FILES+EDITCMD+NEEDARG+ARGOPT+TRLBAR,
+ func='ex_drop',
+ },
+ {
+ command='dsearch',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_findpat',
+ },
+ {
+ command='dsplit',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA,
+ func='ex_findpat',
+ },
+ {
+ command='edit',
+ flags=BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_edit',
+ },
+ {
+ command='earlier',
+ flags=TRLBAR+EXTRA+NOSPC+CMDWIN,
+ func='ex_later',
+ },
+ {
+ command='echo',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_echo',
+ },
+ {
+ command='echoerr',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_execute',
+ },
+ {
+ command='echohl',
+ flags=EXTRA+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_echohl',
+ },
+ {
+ command='echomsg',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_execute',
+ },
+ {
+ command='echon',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_echo',
+ },
+ {
+ command='else',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_else',
+ },
+ {
+ command='elseif',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_else',
+ },
+ {
+ command='emenu',
+ flags=NEEDARG+EXTRA+TRLBAR+NOTRLCOM+RANGE+NOTADR+CMDWIN,
+ func='ex_emenu',
+ },
+ {
+ command='endif',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_endif',
+ },
+ {
+ command='endfunction',
+ flags=TRLBAR+CMDWIN,
+ func='ex_endfunction',
+ },
+ {
+ command='endfor',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_endwhile',
+ },
+ {
+ command='endtry',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_endtry',
+ },
+ {
+ command='endwhile',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_endwhile',
+ },
+ {
+ command='enew',
+ flags=BANG+TRLBAR,
+ func='ex_edit',
+ },
+ {
+ command='ex',
+ flags=BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_edit',
+ },
+ {
+ command='execute',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_execute',
+ },
+ {
+ command='exit',
+ flags=RANGE+WHOLEFOLD+BANG+FILE1+ARGOPT+DFLALL+TRLBAR+CMDWIN,
+ func='ex_exit',
+ },
+ {
+ command='exusage',
+ flags=TRLBAR,
+ func='ex_exusage',
+ },
+ {
+ command='file',
+ flags=RANGE+NOTADR+ZEROR+BANG+FILE1+TRLBAR,
+ func='ex_file',
+ },
+ {
+ command='files',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='buflist_list',
+ },
+ {
+ command='filetype',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_filetype',
+ },
+ {
+ command='find',
+ flags=RANGE+NOTADR+BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_find',
+ },
+ {
+ command='finally',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_finally',
+ },
+ {
+ command='finish',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_finish',
+ },
+ {
+ command='first',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_rewind',
+ },
+ {
+ command='fixdel',
+ flags=TRLBAR+CMDWIN,
+ func='do_fixdel',
+ },
+ {
+ command='fold',
+ flags=RANGE+WHOLEFOLD+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_fold',
+ },
+ {
+ command='foldclose',
+ flags=RANGE+BANG+WHOLEFOLD+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_foldopen',
+ },
+ {
+ command='folddoopen',
+ flags=RANGE+DFLALL+NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_folddo',
+ },
+ {
+ command='folddoclosed',
+ flags=RANGE+DFLALL+NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_folddo',
+ },
+ {
+ command='foldopen',
+ flags=RANGE+BANG+WHOLEFOLD+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_foldopen',
+ },
+ {
+ command='for',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_while',
+ },
+ {
+ command='function',
+ flags=EXTRA+BANG+CMDWIN,
+ func='ex_function',
+ },
+ {
+ command='global',
+ flags=RANGE+WHOLEFOLD+BANG+EXTRA+DFLALL+SBOXOK+CMDWIN,
+ func='ex_global',
+ },
+ {
+ command='goto',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_goto',
+ },
+ {
+ command='grep',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='grepadd',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='gui',
+ flags=BANG+FILES+EDITCMD+ARGOPT+TRLBAR+CMDWIN,
+ func='ex_gui',
+ },
+ {
+ command='gvim',
+ flags=BANG+FILES+EDITCMD+ARGOPT+TRLBAR+CMDWIN,
+ func='ex_gui',
+ },
+ {
+ command='help',
+ flags=BANG+EXTRA+NOTRLCOM,
+ func='ex_help',
+ },
+ {
+ command='helpfind',
+ flags=EXTRA+NOTRLCOM,
+ func='ex_helpfind',
+ },
+ {
+ command='helpgrep',
+ flags=EXTRA+NOTRLCOM+NEEDARG,
+ func='ex_helpgrep',
+ },
+ {
+ command='helptags',
+ flags=NEEDARG+FILES+TRLBAR+CMDWIN,
+ func='ex_helptags',
+ },
+ {
+ command='hardcopy',
+ flags=RANGE+COUNT+EXTRA+TRLBAR+DFLALL+BANG,
+ func='ex_hardcopy',
+ },
+ {
+ command='highlight',
+ flags=BANG+EXTRA+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_highlight',
+ },
+ {
+ command='hide',
+ flags=BANG+EXTRA+NOTRLCOM,
+ func='ex_hide',
+ },
+ {
+ command='history',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_history',
+ },
+ {
+ command='insert',
+ flags=BANG+RANGE+TRLBAR+CMDWIN+MODIFY,
+ func='ex_append',
+ },
+ {
+ command='iabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='iabclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_abclear',
+ },
+ {
+ command='if',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_if',
+ },
+ {
+ command='ijump',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA,
+ func='ex_findpat',
+ },
+ {
+ command='ilist',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_findpat',
+ },
+ {
+ command='imap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='imapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='imenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='inoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='inoreabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='inoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='intro',
+ flags=TRLBAR+CMDWIN,
+ func='ex_intro',
+ },
+ {
+ command='isearch',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_findpat',
+ },
+ {
+ command='isplit',
+ flags=BANG+RANGE+DFLALL+WHOLEFOLD+EXTRA,
+ func='ex_findpat',
+ },
+ {
+ command='iunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='iunabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='iunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='join',
+ flags=BANG+RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN+MODIFY,
+ func='ex_join',
+ },
+ {
+ command='jumps',
+ flags=TRLBAR+CMDWIN,
+ func='ex_jumps',
+ },
+ {
+ command='k',
+ flags=RANGE+WORD1+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_mark',
+ },
+ {
+ command='keepmarks',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='keepjumps',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='keeppatterns',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='keepalt',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='list',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN,
+ func='ex_print',
+ },
+ {
+ command='lNext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='lNfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='last',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_last',
+ },
+ {
+ command='language',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_language',
+ },
+ {
+ command='laddexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR,
+ func='ex_cexpr',
+ },
+ {
+ command='laddbuffer',
+ flags=RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='laddfile',
+ flags=TRLBAR+FILE1,
+ func='ex_cfile',
+ },
+ {
+ command='later',
+ flags=TRLBAR+EXTRA+NOSPC+CMDWIN,
+ func='ex_later',
+ },
+ {
+ command='lbuffer',
+ flags=BANG+RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='lcd',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_cd',
+ },
+ {
+ command='lchdir',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_cd',
+ },
+ {
+ command='lclose',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_cclose',
+ },
+ {
+ command='lcscope',
+ flags=EXTRA+NOTRLCOM+XFILE,
+ func='do_cscope',
+ },
+ {
+ command='left',
+ flags=TRLBAR+RANGE+WHOLEFOLD+EXTRA+CMDWIN+MODIFY,
+ func='ex_align',
+ },
+ {
+ command='leftabove',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='let',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_let',
+ },
+ {
+ command='lexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR+BANG,
+ func='ex_cexpr',
+ },
+ {
+ command='lfile',
+ flags=TRLBAR+FILE1+BANG,
+ func='ex_cfile',
+ },
+ {
+ command='lfirst',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='lgetfile',
+ flags=TRLBAR+FILE1,
+ func='ex_cfile',
+ },
+ {
+ command='lgetbuffer',
+ flags=RANGE+NOTADR+WORD1+TRLBAR,
+ func='ex_cbuffer',
+ },
+ {
+ command='lgetexpr',
+ flags=NEEDARG+WORD1+NOTRLCOM+TRLBAR,
+ func='ex_cexpr',
+ },
+ {
+ command='lgrep',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='lgrepadd',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='lhelpgrep',
+ flags=EXTRA+NOTRLCOM+NEEDARG,
+ func='ex_helpgrep',
+ },
+ {
+ command='ll',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='llast',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='llist',
+ flags=BANG+EXTRA+TRLBAR+CMDWIN,
+ func='qf_list',
+ },
+ {
+ command='lmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='lmapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='lmake',
+ flags=BANG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='lnoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='lnext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='lnewer',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='qf_age',
+ },
+ {
+ command='lnfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='loadview',
+ flags=FILE1+TRLBAR,
+ func='ex_loadview',
+ },
+ {
+ command='loadkeymap',
+ flags=CMDWIN,
+ func='ex_loadkeymap',
+ },
+ {
+ command='lockmarks',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='lockvar',
+ flags=BANG+EXTRA+NEEDARG+SBOXOK+CMDWIN,
+ func='ex_lockvar',
+ },
+ {
+ command='lolder',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='qf_age',
+ },
+ {
+ command='lopen',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_copen',
+ },
+ {
+ command='lprevious',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='lpfile',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cnext',
+ },
+ {
+ command='lrewind',
+ flags=RANGE+NOTADR+COUNT+TRLBAR+BANG,
+ func='ex_cc',
+ },
+ {
+ command='ltag',
+ flags=NOTADR+TRLBAR+BANG+WORD1,
+ func='ex_tag',
+ },
+ {
+ command='lunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='lvimgrep',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_vimgrep',
+ },
+ {
+ command='lvimgrepadd',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_vimgrep',
+ },
+ {
+ command='lwindow',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_cwindow',
+ },
+ {
+ command='ls',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='buflist_list',
+ },
+ {
+ command='move',
+ flags=RANGE+WHOLEFOLD+EXTRA+TRLBAR+CMDWIN+MODIFY,
+ func='ex_copymove',
+ },
+ {
+ command='mark',
+ flags=RANGE+WORD1+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_mark',
+ },
+ {
+ command='make',
+ flags=BANG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_make',
+ },
+ {
+ command='map',
+ flags=BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='mapclear',
+ flags=EXTRA+BANG+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='marks',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='do_marks',
+ },
+ {
+ command='match',
+ flags=RANGE+NOTADR+EXTRA+CMDWIN,
+ func='ex_match',
+ },
+ {
+ command='menu',
+ flags=RANGE+NOTADR+ZEROR+BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='menutranslate',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menutranslate',
+ },
+ {
+ command='messages',
+ flags=TRLBAR+CMDWIN,
+ func='ex_messages',
+ },
+ {
+ command='mkexrc',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_mkrc',
+ },
+ {
+ command='mksession',
+ flags=BANG+FILE1+TRLBAR,
+ func='ex_mkrc',
+ },
+ {
+ command='mkspell',
+ flags=BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_mkspell',
+ },
+ {
+ command='mkvimrc',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_mkrc',
+ },
+ {
+ command='mkview',
+ flags=BANG+FILE1+TRLBAR,
+ func='ex_mkrc',
+ },
+ {
+ command='mode',
+ flags=WORD1+TRLBAR+CMDWIN,
+ func='ex_mode',
+ },
+ {
+ command='next',
+ flags=RANGE+NOTADR+BANG+FILES+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_next',
+ },
+ {
+ command='nbkey',
+ flags=EXTRA+NOTADR+NEEDARG,
+ func='ex_nbkey',
+ },
+ {
+ command='nbclose',
+ flags=TRLBAR+CMDWIN,
+ func='ex_nbclose',
+ },
+ {
+ command='nbstart',
+ flags=WORD1+TRLBAR+CMDWIN,
+ func='ex_nbstart',
+ },
+ {
+ command='new',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='nmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='nmapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='nmenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='nnoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='nnoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='noremap',
+ flags=BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='noautocmd',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='nohlsearch',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_nohlsearch',
+ },
+ {
+ command='noreabbrev',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='noremenu',
+ flags=RANGE+NOTADR+ZEROR+BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='noswapfile',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='normal',
+ flags=RANGE+BANG+EXTRA+NEEDARG+NOTRLCOM+USECTRLV+SBOXOK+CMDWIN,
+ func='ex_normal',
+ },
+ {
+ command='number',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN,
+ func='ex_print',
+ },
+ {
+ command='nunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='nunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='open',
+ flags=RANGE+BANG+EXTRA,
+ func='ex_open',
+ },
+ {
+ command='oldfiles',
+ flags=BANG+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_oldfiles',
+ },
+ {
+ command='omap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='omapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='omenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='only',
+ flags=BANG+TRLBAR,
+ func='ex_only',
+ },
+ {
+ command='onoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='onoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='options',
+ flags=TRLBAR,
+ func='ex_options',
+ },
+ {
+ command='ounmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='ounmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='ownsyntax',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_ownsyntax',
+ },
+ {
+ command='print',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN+SBOXOK,
+ func='ex_print',
+ },
+ {
+ command='pclose',
+ flags=BANG+TRLBAR,
+ func='ex_pclose',
+ },
+ {
+ command='pedit',
+ flags=BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_pedit',
+ },
+ {
+ command='pop',
+ flags=RANGE+NOTADR+BANG+COUNT+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='popup',
+ flags=NEEDARG+EXTRA+BANG+TRLBAR+NOTRLCOM+CMDWIN,
+ func='ex_popup',
+ },
+ {
+ command='ppop',
+ flags=RANGE+NOTADR+BANG+COUNT+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='preserve',
+ flags=TRLBAR,
+ func='ex_preserve',
+ },
+ {
+ command='previous',
+ flags=EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_previous',
+ },
+ {
+ command='promptfind',
+ flags=EXTRA+NOTRLCOM+CMDWIN,
+ func='gui_mch_find_dialog',
+ },
+ {
+ command='promptrepl',
+ flags=EXTRA+NOTRLCOM+CMDWIN,
+ func='gui_mch_replace_dialog',
+ },
+ {
+ command='profile',
+ flags=BANG+EXTRA+TRLBAR+CMDWIN,
+ func='ex_profile',
+ },
+ {
+ command='profdel',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_breakdel',
+ },
+ {
+ command='psearch',
+ flags=BANG+RANGE+WHOLEFOLD+DFLALL+EXTRA,
+ func='ex_psearch',
+ },
+ {
+ command='ptag',
+ flags=RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptNext',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptfirst',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptjump',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_ptag',
+ },
+ {
+ command='ptlast',
+ flags=BANG+TRLBAR,
+ func='ex_ptag',
+ },
+ {
+ command='ptnext',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptprevious',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptrewind',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_ptag',
+ },
+ {
+ command='ptselect',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_ptag',
+ },
+ {
+ command='put',
+ flags=RANGE+WHOLEFOLD+BANG+REGSTR+TRLBAR+ZEROR+CMDWIN+MODIFY,
+ func='ex_put',
+ },
+ {
+ command='pwd',
+ flags=TRLBAR+CMDWIN,
+ func='ex_pwd',
+ },
+ {
+ command='python',
+ flags=RANGE+EXTRA+NEEDARG+CMDWIN,
+ func='ex_python',
+ },
+ {
+ command='pydo',
+ flags=RANGE+DFLALL+EXTRA+NEEDARG+CMDWIN,
+ func='ex_pydo',
+ },
+ {
+ command='pyfile',
+ flags=RANGE+FILE1+NEEDARG+CMDWIN,
+ func='ex_pyfile',
+ },
+ {
+ command='quit',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_quit',
+ },
+ {
+ command='quitall',
+ flags=BANG+TRLBAR,
+ func='ex_quit_all',
+ },
+ {
+ command='qall',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_quit_all',
+ },
+ {
+ command='read',
+ flags=BANG+RANGE+WHOLEFOLD+FILE1+ARGOPT+TRLBAR+ZEROR+CMDWIN+MODIFY,
+ func='ex_read',
+ },
+ {
+ command='recover',
+ flags=BANG+FILE1+TRLBAR,
+ func='ex_recover',
+ },
+ {
+ command='redo',
+ flags=TRLBAR+CMDWIN,
+ func='ex_redo',
+ },
+ {
+ command='redir',
+ flags=BANG+FILES+TRLBAR+CMDWIN,
+ func='ex_redir',
+ },
+ {
+ command='redraw',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_redraw',
+ },
+ {
+ command='redrawstatus',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_redrawstatus',
+ },
+ {
+ command='registers',
+ flags=EXTRA+NOTRLCOM+TRLBAR+CMDWIN,
+ func='ex_display',
+ },
+ {
+ command='resize',
+ flags=RANGE+NOTADR+TRLBAR+WORD1,
+ func='ex_resize',
+ },
+ {
+ command='retab',
+ flags=TRLBAR+RANGE+WHOLEFOLD+DFLALL+BANG+WORD1+CMDWIN+MODIFY,
+ func='ex_retab',
+ },
+ {
+ command='return',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_return',
+ },
+ {
+ command='rewind',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_rewind',
+ },
+ {
+ command='right',
+ flags=TRLBAR+RANGE+WHOLEFOLD+EXTRA+CMDWIN+MODIFY,
+ func='ex_align',
+ },
+ {
+ command='rightbelow',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='runtime',
+ flags=BANG+NEEDARG+FILES+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_runtime',
+ },
+ {
+ command='rundo',
+ flags=NEEDARG+FILE1,
+ func='ex_rundo',
+ },
+ {
+ command='rviminfo',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_viminfo',
+ },
+ {
+ command='substitute',
+ flags=RANGE+WHOLEFOLD+EXTRA+CMDWIN,
+ func='do_sub',
+ },
+ {
+ command='sNext',
+ flags=EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_previous',
+ },
+ {
+ command='sargument',
+ flags=BANG+RANGE+NOTADR+COUNT+EXTRA+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_argument',
+ },
+ {
+ command='sall',
+ flags=BANG+RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_all',
+ },
+ {
+ command='sandbox',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='saveas',
+ flags=BANG+DFLALL+FILE1+ARGOPT+CMDWIN+TRLBAR,
+ func='ex_write',
+ },
+ {
+ command='sbuffer',
+ flags=BANG+RANGE+NOTADR+BUFNAME+BUFUNL+COUNT+EXTRA+TRLBAR,
+ func='ex_buffer',
+ },
+ {
+ command='sbNext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bprevious',
+ },
+ {
+ command='sball',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_buffer_all',
+ },
+ {
+ command='sbfirst',
+ flags=TRLBAR,
+ func='ex_brewind',
+ },
+ {
+ command='sblast',
+ flags=TRLBAR,
+ func='ex_blast',
+ },
+ {
+ command='sbmodified',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bmodified',
+ },
+ {
+ command='sbnext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bnext',
+ },
+ {
+ command='sbprevious',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_bprevious',
+ },
+ {
+ command='sbrewind',
+ flags=TRLBAR,
+ func='ex_brewind',
+ },
+ {
+ command='scriptnames',
+ flags=TRLBAR+CMDWIN,
+ func='ex_scriptnames',
+ },
+ {
+ command='scriptencoding',
+ flags=WORD1+TRLBAR+CMDWIN,
+ func='ex_scriptencoding',
+ },
+ {
+ command='scscope',
+ flags=EXTRA+NOTRLCOM,
+ func='do_scscope',
+ },
+ {
+ command='set',
+ flags=TRLBAR+EXTRA+CMDWIN+SBOXOK,
+ func='ex_set',
+ },
+ {
+ command='setfiletype',
+ flags=TRLBAR+EXTRA+NEEDARG+CMDWIN,
+ func='ex_setfiletype',
+ },
+ {
+ command='setglobal',
+ flags=TRLBAR+EXTRA+CMDWIN+SBOXOK,
+ func='ex_set',
+ },
+ {
+ command='setlocal',
+ flags=TRLBAR+EXTRA+CMDWIN+SBOXOK,
+ func='ex_set',
+ },
+ {
+ command='sfind',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='sfirst',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_rewind',
+ },
+ {
+ command='simalt',
+ flags=NEEDARG+WORD1+TRLBAR+CMDWIN,
+ func='ex_simalt',
+ },
+ {
+ command='sign',
+ flags=NEEDARG+RANGE+NOTADR+EXTRA+CMDWIN,
+ func='ex_sign',
+ },
+ {
+ command='silent',
+ flags=NEEDARG+EXTRA+BANG+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='sleep',
+ flags=RANGE+NOTADR+COUNT+EXTRA+TRLBAR+CMDWIN,
+ func='ex_sleep',
+ },
+ {
+ command='slast',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_last',
+ },
+ {
+ command='smagic',
+ flags=RANGE+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_submagic',
+ },
+ {
+ command='smap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='smapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='smenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='snext',
+ flags=RANGE+NOTADR+BANG+FILES+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_next',
+ },
+ {
+ command='snomagic',
+ flags=RANGE+WHOLEFOLD+EXTRA+CMDWIN,
+ func='ex_submagic',
+ },
+ {
+ command='snoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='snoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='source',
+ flags=BANG+FILE1+TRLBAR+SBOXOK+CMDWIN,
+ func='ex_source',
+ },
+ {
+ command='sort',
+ flags=RANGE+DFLALL+WHOLEFOLD+BANG+EXTRA+NOTRLCOM+MODIFY,
+ func='ex_sort',
+ },
+ {
+ command='split',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='spellgood',
+ flags=BANG+RANGE+NOTADR+NEEDARG+EXTRA+TRLBAR,
+ func='ex_spell',
+ },
+ {
+ command='spelldump',
+ flags=BANG+TRLBAR,
+ func='ex_spelldump',
+ },
+ {
+ command='spellinfo',
+ flags=TRLBAR,
+ func='ex_spellinfo',
+ },
+ {
+ command='spellrepall',
+ flags=TRLBAR,
+ func='ex_spellrepall',
+ },
+ {
+ command='spellundo',
+ flags=BANG+RANGE+NOTADR+NEEDARG+EXTRA+TRLBAR,
+ func='ex_spell',
+ },
+ {
+ command='spellwrong',
+ flags=BANG+RANGE+NOTADR+NEEDARG+EXTRA+TRLBAR,
+ func='ex_spell',
+ },
+ {
+ command='sprevious',
+ flags=EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_previous',
+ },
+ {
+ command='srewind',
+ flags=EXTRA+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_rewind',
+ },
+ {
+ command='stop',
+ flags=TRLBAR+BANG+CMDWIN,
+ func='ex_stop',
+ },
+ {
+ command='stag',
+ flags=RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR,
+ func='ex_stag',
+ },
+ {
+ command='startinsert',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_startinsert',
+ },
+ {
+ command='startgreplace',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_startinsert',
+ },
+ {
+ command='startreplace',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_startinsert',
+ },
+ {
+ command='stopinsert',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_stopinsert',
+ },
+ {
+ command='stjump',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_stag',
+ },
+ {
+ command='stselect',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_stag',
+ },
+ {
+ command='sunhide',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_buffer_all',
+ },
+ {
+ command='sunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='sunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='suspend',
+ flags=TRLBAR+BANG+CMDWIN,
+ func='ex_stop',
+ },
+ {
+ command='sview',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='swapname',
+ flags=TRLBAR+CMDWIN,
+ func='ex_swapname',
+ },
+ {
+ command='syntax',
+ flags=EXTRA+NOTRLCOM+CMDWIN,
+ func='ex_syntax',
+ },
+ {
+ command='syntime',
+ flags=NEEDARG+WORD1+TRLBAR+CMDWIN,
+ func='ex_syntime',
+ },
+ {
+ command='syncbind',
+ flags=TRLBAR,
+ func='ex_syncbind',
+ },
+ {
+ command='t',
+ flags=RANGE+WHOLEFOLD+EXTRA+TRLBAR+CMDWIN+MODIFY,
+ func='ex_copymove',
+ },
+ {
+ command='tNext',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='tag',
+ flags=RANGE+NOTADR+BANG+WORD1+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='tags',
+ flags=TRLBAR+CMDWIN,
+ func='do_tags',
+ },
+ {
+ command='tab',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='tabclose',
+ flags=RANGE+NOTADR+COUNT+BANG+TRLBAR+CMDWIN,
+ func='ex_tabclose',
+ },
+ {
+ command='tabdo',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_listdo',
+ },
+ {
+ command='tabedit',
+ flags=BANG+FILE1+RANGE+NOTADR+ZEROR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='tabfind',
+ flags=BANG+FILE1+RANGE+NOTADR+ZEROR+EDITCMD+ARGOPT+NEEDARG+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='tabfirst',
+ flags=TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabmove',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+NOSPC+TRLBAR,
+ func='ex_tabmove',
+ },
+ {
+ command='tablast',
+ flags=TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabnext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabnew',
+ flags=BANG+FILE1+RANGE+NOTADR+ZEROR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='tabonly',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='ex_tabonly',
+ },
+ {
+ command='tabprevious',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabNext',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabrewind',
+ flags=TRLBAR,
+ func='ex_tabnext',
+ },
+ {
+ command='tabs',
+ flags=TRLBAR+CMDWIN,
+ func='ex_tabs',
+ },
+ {
+ command='tearoff',
+ flags=NEEDARG+EXTRA+TRLBAR+NOTRLCOM+CMDWIN,
+ func='ex_tearoff',
+ },
+ {
+ command='tfirst',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='throw',
+ flags=EXTRA+NEEDARG+SBOXOK+CMDWIN,
+ func='ex_throw',
+ },
+ {
+ command='tjump',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_tag',
+ },
+ {
+ command='tlast',
+ flags=BANG+TRLBAR,
+ func='ex_tag',
+ },
+ {
+ command='tmenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='tnext',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='topleft',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='tprevious',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='trewind',
+ flags=RANGE+NOTADR+BANG+TRLBAR+ZEROR,
+ func='ex_tag',
+ },
+ {
+ command='try',
+ flags=TRLBAR+SBOXOK+CMDWIN,
+ func='ex_try',
+ },
+ {
+ command='tselect',
+ flags=BANG+TRLBAR+WORD1,
+ func='ex_tag',
+ },
+ {
+ command='tunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='undo',
+ flags=RANGE+NOTADR+COUNT+ZEROR+TRLBAR+CMDWIN,
+ func='ex_undo',
+ },
+ {
+ command='undojoin',
+ flags=TRLBAR+CMDWIN,
+ func='ex_undojoin',
+ },
+ {
+ command='undolist',
+ flags=TRLBAR+CMDWIN,
+ func='ex_undolist',
+ },
+ {
+ command='unabbreviate',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_abbreviate',
+ },
+ {
+ command='unhide',
+ flags=RANGE+NOTADR+COUNT+TRLBAR,
+ func='ex_buffer_all',
+ },
+ {
+ command='unlet',
+ flags=BANG+EXTRA+NEEDARG+SBOXOK+CMDWIN,
+ func='ex_unlet',
+ },
+ {
+ command='unlockvar',
+ flags=BANG+EXTRA+NEEDARG+SBOXOK+CMDWIN,
+ func='ex_lockvar',
+ },
+ {
+ command='unmap',
+ flags=BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='unmenu',
+ flags=BANG+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='unsilent',
+ flags=NEEDARG+EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='update',
+ flags=RANGE+WHOLEFOLD+BANG+FILE1+ARGOPT+DFLALL+TRLBAR,
+ func='ex_update',
+ },
+ {
+ command='vglobal',
+ flags=RANGE+WHOLEFOLD+EXTRA+DFLALL+CMDWIN,
+ func='ex_global',
+ },
+ {
+ command='version',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_version',
+ },
+ {
+ command='verbose',
+ flags=NEEDARG+RANGE+NOTADR+EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='vertical',
+ flags=NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_wrongmodifier',
+ },
+ {
+ command='visual',
+ flags=BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_edit',
+ },
+ {
+ command='view',
+ flags=BANG+FILE1+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_edit',
+ },
+ {
+ command='vimgrep',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_vimgrep',
+ },
+ {
+ command='vimgrepadd',
+ flags=RANGE+NOTADR+BANG+NEEDARG+EXTRA+NOTRLCOM+TRLBAR+XFILE,
+ func='ex_vimgrep',
+ },
+ {
+ command='viusage',
+ flags=TRLBAR,
+ func='ex_viusage',
+ },
+ {
+ command='vmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='vmapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='vmenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='vnoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='vnew',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='vnoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='vsplit',
+ flags=BANG+FILE1+RANGE+NOTADR+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_splitview',
+ },
+ {
+ command='vunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='vunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='write',
+ flags=RANGE+WHOLEFOLD+BANG+FILE1+ARGOPT+DFLALL+TRLBAR+CMDWIN,
+ func='ex_write',
+ },
+ {
+ command='wNext',
+ flags=RANGE+WHOLEFOLD+NOTADR+BANG+FILE1+ARGOPT+TRLBAR,
+ func='ex_wnext',
+ },
+ {
+ command='wall',
+ flags=BANG+TRLBAR+CMDWIN,
+ func='do_wqall',
+ },
+ {
+ command='while',
+ flags=EXTRA+NOTRLCOM+SBOXOK+CMDWIN,
+ func='ex_while',
+ },
+ {
+ command='winsize',
+ flags=EXTRA+NEEDARG+TRLBAR,
+ func='ex_winsize',
+ },
+ {
+ command='wincmd',
+ flags=NEEDARG+WORD1+RANGE+NOTADR,
+ func='ex_wincmd',
+ },
+ {
+ command='windo',
+ flags=BANG+NEEDARG+EXTRA+NOTRLCOM,
+ func='ex_listdo',
+ },
+ {
+ command='winpos',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_winpos',
+ },
+ {
+ command='wnext',
+ flags=RANGE+NOTADR+BANG+FILE1+ARGOPT+TRLBAR,
+ func='ex_wnext',
+ },
+ {
+ command='wprevious',
+ flags=RANGE+NOTADR+BANG+FILE1+ARGOPT+TRLBAR,
+ func='ex_wnext',
+ },
+ {
+ command='wq',
+ flags=RANGE+WHOLEFOLD+BANG+FILE1+ARGOPT+DFLALL+TRLBAR,
+ func='ex_exit',
+ },
+ {
+ command='wqall',
+ flags=BANG+FILE1+ARGOPT+DFLALL+TRLBAR,
+ func='do_wqall',
+ },
+ {
+ command='wsverb',
+ flags=EXTRA+NOTADR+NEEDARG,
+ func='ex_wsverb',
+ },
+ {
+ command='wundo',
+ flags=BANG+NEEDARG+FILE1,
+ func='ex_wundo',
+ },
+ {
+ command='wviminfo',
+ flags=BANG+FILE1+TRLBAR+CMDWIN,
+ func='ex_viminfo',
+ },
+ {
+ command='xit',
+ flags=RANGE+WHOLEFOLD+BANG+FILE1+ARGOPT+DFLALL+TRLBAR+CMDWIN,
+ func='ex_exit',
+ },
+ {
+ command='xall',
+ flags=BANG+TRLBAR,
+ func='do_wqall',
+ },
+ {
+ command='xmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='xmapclear',
+ flags=EXTRA+TRLBAR+CMDWIN,
+ func='ex_mapclear',
+ },
+ {
+ command='xmenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='xnoremap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_map',
+ },
+ {
+ command='xnoremenu',
+ flags=RANGE+NOTADR+ZEROR+EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='xunmap',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_unmap',
+ },
+ {
+ command='xunmenu',
+ flags=EXTRA+TRLBAR+NOTRLCOM+USECTRLV+CMDWIN,
+ func='ex_menu',
+ },
+ {
+ command='yank',
+ flags=RANGE+WHOLEFOLD+REGSTR+COUNT+TRLBAR+CMDWIN,
+ func='ex_operators',
+ },
+ {
+ command='z',
+ flags=RANGE+WHOLEFOLD+EXTRA+EXFLAGS+TRLBAR+CMDWIN,
+ func='ex_z',
+ },
+ {
+ command='!',
+ enum='CMD_bang',
+ flags=RANGE+WHOLEFOLD+BANG+FILES+CMDWIN,
+ func='ex_bang',
+ },
+ {
+ command='#',
+ enum='CMD_pound',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN,
+ func='ex_print',
+ },
+ {
+ command='&',
+ enum='CMD_and',
+ flags=RANGE+WHOLEFOLD+EXTRA+CMDWIN+MODIFY,
+ func='do_sub',
+ },
+ {
+ command='*',
+ enum='CMD_star',
+ flags=RANGE+WHOLEFOLD+EXTRA+TRLBAR+CMDWIN,
+ func='ex_at',
+ },
+ {
+ command='<',
+ enum='CMD_lshift',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN+MODIFY,
+ func='ex_operators',
+ },
+ {
+ command='=',
+ enum='CMD_equal',
+ flags=RANGE+TRLBAR+DFLALL+EXFLAGS+CMDWIN,
+ func='ex_equal',
+ },
+ {
+ command='>',
+ enum='CMD_rshift',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN+MODIFY,
+ func='ex_operators',
+ },
+ {
+ command='@',
+ enum='CMD_at',
+ flags=RANGE+WHOLEFOLD+EXTRA+TRLBAR+CMDWIN,
+ func='ex_at',
+ },
+ {
+ command='Next',
+ flags=EXTRA+RANGE+NOTADR+COUNT+BANG+EDITCMD+ARGOPT+TRLBAR,
+ func='ex_previous',
+ },
+ {
+ command='Print',
+ flags=RANGE+WHOLEFOLD+COUNT+EXFLAGS+TRLBAR+CMDWIN,
+ func='ex_print',
+ },
+ {
+ command='~',
+ enum='CMD_tilde',
+ flags=RANGE+WHOLEFOLD+EXTRA+CMDWIN+MODIFY,
+ func='do_sub',
+ },
+}
diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h
index 52e8bb7465..66c42a7111 100644
--- a/src/nvim/ex_cmds_defs.h
+++ b/src/nvim/ex_cmds_defs.h
@@ -4,35 +4,23 @@
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
-
-#if (!defined(DO_DECLARE_EXCMD) && !defined(NVIM_EX_CMDS_DEFS_H)) \
- || (defined(DO_DECLARE_EXCMD) && \
- !defined(NVIM_EX_CMDS_DEFS_H_DO_DECLARE_EXCMD))
-#ifdef DO_DECLARE_EXCMD
-# define NVIM_EX_CMDS_DEFS_H_DO_DECLARE_EXCMD
-#else
-# define NVIM_EX_CMDS_DEFS_H
-#endif
+#ifndef NVIM_EX_CMDS_DEFS_H
+#define NVIM_EX_CMDS_DEFS_H
#include <stdbool.h>
#include "nvim/pos.h" // for linenr_T
#include "nvim/normal.h"
-/*
- * This file defines the Ex commands.
- * When DO_DECLARE_EXCMD is defined, the table with ex command names and
- * options results.
- * When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands
- * results.
- * This clever trick was invented by Ron Aaron.
- */
+#ifdef INCLUDE_GENERATED_DECLARATIONS
+# include "ex_cmds_enum.generated.h"
+#endif
/*
* When adding an Ex command:
- * 1. Add an entry in the table below. Keep it sorted on the shortest
- * version of the command name that works. If it doesn't start with a
- * lower case letter, add it at the end.
+ * 1. Add an entry to the table in src/nvim/ex_cmds.lua. Keep it sorted on the
+ * shortest version of the command name that works. If it doesn't start with
+ * a lower case letter, add it at the end.
* 2. Add a "case: CMD_xxx" in the big switch in ex_docmd.c.
* 3. Add an entry in the index for Ex commands at ":help ex-cmd-index".
* 4. Add documentation in ../doc/xxx.txt. Add a tag for both the short and
@@ -67,1093 +55,56 @@
#define WORD1 (EXTRA | NOSPC) /* one extra word allowed */
#define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */
-#ifndef DO_DECLARE_EXCMD
typedef struct exarg exarg_T;
-#endif
/* behavior for bad character, "++bad=" argument */
#define BAD_REPLACE '?' /* replace it with '?' (default) */
#define BAD_KEEP -1 /* leave it */
#define BAD_DROP -2 /* erase it */
-/*
- * This array maps ex command names to command codes.
- * The order in which command names are listed below is significant --
- * ambiguous abbreviations are always resolved to be the first possible match
- * (e.g. "r" is taken to mean "read", not "rewind", because "read" comes
- * before "rewind").
- * Not supported commands are included to avoid ambiguities.
- */
-#ifdef EX
-# undef EX /* just in case */
-#endif
-#ifdef DO_DECLARE_EXCMD
-# define EX(a, b, c, d) {(char_u *)b, c, (long_u)(d)}
-
typedef void (*ex_func_T)(exarg_T *eap);
-static struct cmdname {
- char_u *cmd_name; /* name of the command */
- ex_func_T cmd_func; /* function for this command */
- long_u cmd_argt; /* flags declared above */
-}
-cmdnames[] =
-#else
-# define EX(a, b, c, d) a
-enum CMD_index
-#endif
-{
- EX(CMD_append, "append", ex_append,
- BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_abbreviate, "abbreviate", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_abclear, "abclear", ex_abclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_aboveleft, "aboveleft", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_all, "all", ex_all,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_amenu, "amenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_anoremenu, "anoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_args, "args", ex_args,
- BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_argadd, "argadd", ex_argadd,
- BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR),
- EX(CMD_argdelete, "argdelete", ex_argdelete,
- BANG|RANGE|NOTADR|FILES|TRLBAR),
- EX(CMD_argdo, "argdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_argedit, "argedit", ex_argedit,
- BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_argglobal, "argglobal", ex_args,
- BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_arglocal, "arglocal", ex_args,
- BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_argument, "argument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_ascii, "ascii", do_ascii,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_autocmd, "autocmd", ex_autocmd,
- BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_augroup, "augroup", ex_autocmd,
- BANG|WORD1|TRLBAR|CMDWIN),
- EX(CMD_aunmenu, "aunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_buffer, "buffer", ex_buffer,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
- EX(CMD_bNext, "bNext", ex_bprevious,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_ball, "ball", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_badd, "badd", ex_edit,
- NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN),
- EX(CMD_bdelete, "bdelete", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
- EX(CMD_behave, "behave", ex_behave,
- NEEDARG|WORD1|TRLBAR|CMDWIN),
- EX(CMD_belowright, "belowright", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_bfirst, "bfirst", ex_brewind,
- BANG|RANGE|NOTADR|TRLBAR),
- EX(CMD_blast, "blast", ex_blast,
- BANG|RANGE|NOTADR|TRLBAR),
- EX(CMD_bmodified, "bmodified", ex_bmodified,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_bnext, "bnext", ex_bnext,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_botright, "botright", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_bprevious, "bprevious", ex_bprevious,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_brewind, "brewind", ex_brewind,
- BANG|RANGE|NOTADR|TRLBAR),
- EX(CMD_break, "break", ex_break,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_breakadd, "breakadd", ex_breakadd,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_breakdel, "breakdel", ex_breakdel,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_breaklist, "breaklist", ex_breaklist,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_browse, "browse", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
- EX(CMD_buffers, "buffers", buflist_list,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_bufdo, "bufdo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_bunload, "bunload", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
- EX(CMD_bwipeout, "bwipeout", ex_bunload,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
- EX(CMD_change, "change", ex_change,
- BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_cNext, "cNext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cNfile, "cNfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cabbrev, "cabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cabclear, "cabclear", ex_abclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_caddexpr, "caddexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR),
- EX(CMD_caddfile, "caddfile", ex_cfile,
- TRLBAR|FILE1),
- EX(CMD_call, "call", ex_call,
- RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_catch, "catch", ex_catch,
- EXTRA|SBOXOK|CMDWIN),
- EX(CMD_cbuffer, "cbuffer", ex_cbuffer,
- BANG|RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_cc, "cc", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cclose, "cclose", ex_cclose,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_cd, "cd", ex_cd,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_center, "center", ex_align,
- TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
- EX(CMD_cexpr, "cexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
- EX(CMD_cfile, "cfile", ex_cfile,
- TRLBAR|FILE1|BANG),
- EX(CMD_cfirst, "cfirst", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cgetfile, "cgetfile", ex_cfile,
- TRLBAR|FILE1),
- EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_cgetexpr, "cgetexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR),
- EX(CMD_chdir, "chdir", ex_cd,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_changes, "changes", ex_changes,
- TRLBAR|CMDWIN),
- EX(CMD_checkpath, "checkpath", ex_checkpath,
- TRLBAR|BANG|CMDWIN),
- EX(CMD_checktime, "checktime", ex_checktime,
- RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
- EX(CMD_clist, "clist", qf_list,
- BANG|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_clast, "clast", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_close, "close", ex_close,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_cmap, "cmap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cmapclear, "cmapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_cmenu, "cmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cnext, "cnext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cnewer, "cnewer", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_cnfile, "cnfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cnoremap, "cnoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cnoreabbrev, "cnoreabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cnoremenu, "cnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_copy, "copy", ex_copymove,
- RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_colder, "colder", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_colorscheme, "colorscheme", ex_colorscheme,
- WORD1|TRLBAR|CMDWIN),
- EX(CMD_command, "command", ex_command,
- EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_comclear, "comclear", ex_comclear,
- TRLBAR|CMDWIN),
- EX(CMD_compiler, "compiler", ex_compiler,
- BANG|TRLBAR|WORD1|CMDWIN),
- EX(CMD_continue, "continue", ex_continue,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_confirm, "confirm", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM|CMDWIN),
- EX(CMD_copen, "copen", ex_copen,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_cprevious, "cprevious", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cpfile, "cpfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cquit, "cquit", ex_cquit,
- TRLBAR|BANG),
- EX(CMD_crewind, "crewind", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_cscope, "cscope", do_cscope,
- EXTRA|NOTRLCOM|XFILE),
- EX(CMD_cstag, "cstag", do_cstag,
- BANG|TRLBAR|WORD1),
- EX(CMD_cunmap, "cunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cunabbrev, "cunabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cunmenu, "cunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_cwindow, "cwindow", ex_cwindow,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_delete, "delete", ex_operators,
- RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_delmarks, "delmarks", ex_delmarks,
- BANG|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_debug, "debug", ex_debug,
- NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_debuggreedy, "debuggreedy", ex_debuggreedy,
- RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN),
- EX(CMD_delcommand, "delcommand", ex_delcommand,
- NEEDARG|WORD1|TRLBAR|CMDWIN),
- EX(CMD_delfunction, "delfunction", ex_delfunction,
- NEEDARG|WORD1|CMDWIN),
- EX(CMD_display, "display", ex_display,
- EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_diffupdate, "diffupdate", ex_diffupdate,
- BANG|TRLBAR),
- EX(CMD_diffget, "diffget", ex_diffgetput,
- RANGE|EXTRA|TRLBAR|MODIFY),
- EX(CMD_diffoff, "diffoff", ex_diffoff,
- BANG|TRLBAR),
- EX(CMD_diffpatch, "diffpatch", ex_diffpatch,
- EXTRA|FILE1|TRLBAR|MODIFY),
- EX(CMD_diffput, "diffput", ex_diffgetput,
- RANGE|EXTRA|TRLBAR),
- EX(CMD_diffsplit, "diffsplit", ex_diffsplit,
- EXTRA|FILE1|TRLBAR),
- EX(CMD_diffthis, "diffthis", ex_diffthis,
- TRLBAR),
- EX(CMD_digraphs, "digraphs", ex_digraphs,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_djump, "djump", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
- EX(CMD_dlist, "dlist", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_doautocmd, "doautocmd", ex_doautocmd,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_doautoall, "doautoall", ex_doautoall,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_drop, "drop", ex_drop,
- FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR),
- EX(CMD_dsearch, "dsearch", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_dsplit, "dsplit", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
- EX(CMD_edit, "edit", ex_edit,
- BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_earlier, "earlier", ex_later,
- TRLBAR|EXTRA|NOSPC|CMDWIN),
- EX(CMD_echo, "echo", ex_echo,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_echoerr, "echoerr", ex_execute,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_echohl, "echohl", ex_echohl,
- EXTRA|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_echomsg, "echomsg", ex_execute,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_echon, "echon", ex_echo,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_else, "else", ex_else,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_elseif, "elseif", ex_else,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_emenu, "emenu", ex_emenu,
- NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN),
- EX(CMD_endif, "endif", ex_endif,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_endfunction, "endfunction", ex_endfunction,
- TRLBAR|CMDWIN),
- EX(CMD_endfor, "endfor", ex_endwhile,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_endtry, "endtry", ex_endtry,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_endwhile, "endwhile", ex_endwhile,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_enew, "enew", ex_edit,
- BANG|TRLBAR),
- EX(CMD_ex, "ex", ex_edit,
- BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_execute, "execute", ex_execute,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_exit, "exit", ex_exit,
- RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
- EX(CMD_exusage, "exusage", ex_exusage,
- TRLBAR),
- EX(CMD_file, "file", ex_file,
- RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR),
- EX(CMD_files, "files", buflist_list,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_filetype, "filetype", ex_filetype,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_find, "find", ex_find,
- RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_finally, "finally", ex_finally,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_finish, "finish", ex_finish,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_first, "first", ex_rewind,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_fixdel, "fixdel", do_fixdel,
- TRLBAR|CMDWIN),
- EX(CMD_fold, "fold", ex_fold,
- RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_foldclose, "foldclose", ex_foldopen,
- RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_folddoopen, "folddoopen", ex_folddo,
- RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_folddoclosed, "folddoclosed", ex_folddo,
- RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_foldopen, "foldopen", ex_foldopen,
- RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_for, "for", ex_while,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_function, "function", ex_function,
- EXTRA|BANG|CMDWIN),
- EX(CMD_global, "global", ex_global,
- RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN),
- EX(CMD_goto, "goto", ex_goto,
- RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_grep, "grep", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_grepadd, "grepadd", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_gui, "gui", ex_gui,
- BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
- EX(CMD_gvim, "gvim", ex_gui,
- BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN),
- EX(CMD_help, "help", ex_help,
- BANG|EXTRA|NOTRLCOM),
- EX(CMD_helpfind, "helpfind", ex_helpfind,
- EXTRA|NOTRLCOM),
- EX(CMD_helpgrep, "helpgrep", ex_helpgrep,
- EXTRA|NOTRLCOM|NEEDARG),
- EX(CMD_helptags, "helptags", ex_helptags,
- NEEDARG|FILES|TRLBAR|CMDWIN),
- EX(CMD_hardcopy, "hardcopy", ex_hardcopy,
- RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG),
- EX(CMD_highlight, "highlight", ex_highlight,
- BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_hide, "hide", ex_hide,
- BANG|EXTRA|NOTRLCOM),
- EX(CMD_history, "history", ex_history,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_insert, "insert", ex_append,
- BANG|RANGE|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_iabbrev, "iabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_iabclear, "iabclear", ex_abclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_if, "if", ex_if,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_ijump, "ijump", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
- EX(CMD_ilist, "ilist", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_imap, "imap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_imapclear, "imapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_imenu, "imenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_inoremap, "inoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_inoreabbrev, "inoreabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_inoremenu, "inoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_intro, "intro", ex_intro,
- TRLBAR|CMDWIN),
- EX(CMD_isearch, "isearch", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_isplit, "isplit", ex_findpat,
- BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA),
- EX(CMD_iunmap, "iunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_iunabbrev, "iunabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_iunmenu, "iunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_join, "join", ex_join,
- BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_jumps, "jumps", ex_jumps,
- TRLBAR|CMDWIN),
- EX(CMD_k, "k", ex_mark,
- RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_keepmarks, "keepmarks", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_keepjumps, "keepjumps", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_keeppatterns, "keeppatterns", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_keepalt, "keepalt", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_list, "list", ex_print,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
- EX(CMD_lNext, "lNext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_lNfile, "lNfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_last, "last", ex_last,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_language, "language", ex_language,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_laddexpr, "laddexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR),
- EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_laddfile, "laddfile", ex_cfile,
- TRLBAR|FILE1),
- EX(CMD_later, "later", ex_later,
- TRLBAR|EXTRA|NOSPC|CMDWIN),
- EX(CMD_lbuffer, "lbuffer", ex_cbuffer,
- BANG|RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_lcd, "lcd", ex_cd,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_lchdir, "lchdir", ex_cd,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_lclose, "lclose", ex_cclose,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_lcscope, "lcscope", do_cscope,
- EXTRA|NOTRLCOM|XFILE),
- EX(CMD_left, "left", ex_align,
- TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
- EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_let, "let", ex_let,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_lexpr, "lexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
- EX(CMD_lfile, "lfile", ex_cfile,
- TRLBAR|FILE1|BANG),
- EX(CMD_lfirst, "lfirst", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_lgetfile, "lgetfile", ex_cfile,
- TRLBAR|FILE1),
- EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR),
- EX(CMD_lgetexpr, "lgetexpr", ex_cexpr,
- NEEDARG|WORD1|NOTRLCOM|TRLBAR),
- EX(CMD_lgrep, "lgrep", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_lgrepadd, "lgrepadd", ex_make,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_lhelpgrep, "lhelpgrep", ex_helpgrep,
- EXTRA|NOTRLCOM|NEEDARG),
- EX(CMD_ll, "ll", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_llast, "llast", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_llist, "llist", qf_list,
- BANG|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_lmap, "lmap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_lmapclear, "lmapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_lmake, "lmake", ex_make,
- BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_lnoremap, "lnoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_lnext, "lnext", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_lnewer, "lnewer", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_lnfile, "lnfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_loadview, "loadview", ex_loadview,
- FILE1|TRLBAR),
- EX(CMD_loadkeymap, "loadkeymap", ex_loadkeymap,
- CMDWIN),
- EX(CMD_lockmarks, "lockmarks", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_lockvar, "lockvar", ex_lockvar,
- BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
- EX(CMD_lolder, "lolder", qf_age,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_lopen, "lopen", ex_copen,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_lprevious, "lprevious", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_lpfile, "lpfile", ex_cnext,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_lrewind, "lrewind", ex_cc,
- RANGE|NOTADR|COUNT|TRLBAR|BANG),
- EX(CMD_ltag, "ltag", ex_tag,
- NOTADR|TRLBAR|BANG|WORD1),
- EX(CMD_lunmap, "lunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_lwindow, "lwindow", ex_cwindow,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_ls, "ls", buflist_list,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_move, "move", ex_copymove,
- RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_mark, "mark", ex_mark,
- RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_make, "make", ex_make,
- BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_map, "map", ex_map,
- BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_mapclear, "mapclear", ex_mapclear,
- EXTRA|BANG|TRLBAR|CMDWIN),
- EX(CMD_marks, "marks", do_marks,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_match, "match", ex_match,
- RANGE|NOTADR|EXTRA|CMDWIN),
- EX(CMD_menu, "menu", ex_menu,
- RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_menutranslate, "menutranslate", ex_menutranslate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_messages, "messages", ex_messages,
- TRLBAR|CMDWIN),
- EX(CMD_mkexrc, "mkexrc", ex_mkrc,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_mksession, "mksession", ex_mkrc,
- BANG|FILE1|TRLBAR),
- EX(CMD_mkspell, "mkspell", ex_mkspell,
- BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_mkvimrc, "mkvimrc", ex_mkrc,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_mkview, "mkview", ex_mkrc,
- BANG|FILE1|TRLBAR),
- EX(CMD_mode, "mode", ex_mode,
- WORD1|TRLBAR|CMDWIN),
- EX(CMD_next, "next", ex_next,
- RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_nbkey, "nbkey", ex_nbkey,
- EXTRA|NOTADR|NEEDARG),
- EX(CMD_nbclose, "nbclose", ex_nbclose,
- TRLBAR|CMDWIN),
- EX(CMD_nbstart, "nbstart", ex_nbstart,
- WORD1|TRLBAR|CMDWIN),
- EX(CMD_new, "new", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_nmap, "nmap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_nmapclear, "nmapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_nmenu, "nmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_nnoremap, "nnoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_nnoremenu, "nnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_noremap, "noremap", ex_map,
- BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_noremenu, "noremenu", ex_menu,
- RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_noswapfile, "noswapfile", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_normal, "normal", ex_normal,
- RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN),
- EX(CMD_number, "number", ex_print,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
- EX(CMD_nunmap, "nunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_nunmenu, "nunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_open, "open", ex_open,
- RANGE|BANG|EXTRA),
- EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
- BANG|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_omap, "omap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_omapclear, "omapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_omenu, "omenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_only, "only", ex_only,
- BANG|TRLBAR),
- EX(CMD_onoremap, "onoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_onoremenu, "onoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_options, "options", ex_options,
- TRLBAR),
- EX(CMD_ounmap, "ounmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_ounmenu, "ounmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_ownsyntax, "ownsyntax", ex_ownsyntax,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_print, "print", ex_print,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK),
- EX(CMD_pclose, "pclose", ex_pclose,
- BANG|TRLBAR),
- EX(CMD_pedit, "pedit", ex_pedit,
- BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_pop, "pop", ex_tag,
- RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EX(CMD_popup, "popup", ex_popup,
- NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN),
- EX(CMD_ppop, "ppop", ex_ptag,
- RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
- EX(CMD_preserve, "preserve", ex_preserve,
- TRLBAR),
- EX(CMD_previous, "previous", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_promptfind, "promptfind", gui_mch_find_dialog,
- EXTRA|NOTRLCOM|CMDWIN),
- EX(CMD_promptrepl, "promptrepl", gui_mch_replace_dialog,
- EXTRA|NOTRLCOM|CMDWIN),
- EX(CMD_profile, "profile", ex_profile,
- BANG|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_profdel, "profdel", ex_breakdel,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_psearch, "psearch", ex_psearch,
- BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA),
- EX(CMD_ptag, "ptag", ex_ptag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
- EX(CMD_ptNext, "ptNext", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_ptfirst, "ptfirst", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_ptjump, "ptjump", ex_ptag,
- BANG|TRLBAR|WORD1),
- EX(CMD_ptlast, "ptlast", ex_ptag,
- BANG|TRLBAR),
- EX(CMD_ptnext, "ptnext", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_ptprevious, "ptprevious", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_ptrewind, "ptrewind", ex_ptag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_ptselect, "ptselect", ex_ptag,
- BANG|TRLBAR|WORD1),
- EX(CMD_put, "put", ex_put,
- RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY),
- EX(CMD_pwd, "pwd", ex_pwd,
- TRLBAR|CMDWIN),
- EX(CMD_python, "python", ex_python,
- RANGE|EXTRA|NEEDARG|CMDWIN),
- EX(CMD_pydo, "pydo", ex_pydo,
- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN),
- EX(CMD_pyfile, "pyfile", ex_pyfile,
- RANGE|FILE1|NEEDARG|CMDWIN),
- EX(CMD_quit, "quit", ex_quit,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_quitall, "quitall", ex_quit_all,
- BANG|TRLBAR),
- EX(CMD_qall, "qall", ex_quit_all,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_read, "read", ex_read,
- BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY),
- EX(CMD_recover, "recover", ex_recover,
- BANG|FILE1|TRLBAR),
- EX(CMD_redo, "redo", ex_redo,
- TRLBAR|CMDWIN),
- EX(CMD_redir, "redir", ex_redir,
- BANG|FILES|TRLBAR|CMDWIN),
- EX(CMD_redraw, "redraw", ex_redraw,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_redrawstatus, "redrawstatus", ex_redrawstatus,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_registers, "registers", ex_display,
- EXTRA|NOTRLCOM|TRLBAR|CMDWIN),
- EX(CMD_resize, "resize", ex_resize,
- RANGE|NOTADR|TRLBAR|WORD1),
- EX(CMD_retab, "retab", ex_retab,
- TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY),
- EX(CMD_return, "return", ex_return,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_rewind, "rewind", ex_rewind,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_right, "right", ex_align,
- TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
- EX(CMD_rightbelow, "rightbelow", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_runtime, "runtime", ex_runtime,
- BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_rundo, "rundo", ex_rundo,
- NEEDARG|FILE1),
- EX(CMD_rviminfo, "rviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_substitute, "substitute", do_sub,
- RANGE|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_sNext, "sNext", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_sargument, "sargument", ex_argument,
- BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_sall, "sall", ex_all,
- BANG|RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sandbox, "sandbox", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_saveas, "saveas", ex_write,
- BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR),
- EX(CMD_sbuffer, "sbuffer", ex_buffer,
- BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR),
- EX(CMD_sbNext, "sbNext", ex_bprevious,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sball, "sball", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sbfirst, "sbfirst", ex_brewind,
- TRLBAR),
- EX(CMD_sblast, "sblast", ex_blast,
- TRLBAR),
- EX(CMD_sbmodified, "sbmodified", ex_bmodified,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sbnext, "sbnext", ex_bnext,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sbprevious, "sbprevious", ex_bprevious,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sbrewind, "sbrewind", ex_brewind,
- TRLBAR),
- EX(CMD_scriptnames, "scriptnames", ex_scriptnames,
- TRLBAR|CMDWIN),
- EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
- WORD1|TRLBAR|CMDWIN),
- EX(CMD_scscope, "scscope", do_scscope,
- EXTRA|NOTRLCOM),
- EX(CMD_set, "set", ex_set,
- TRLBAR|EXTRA|CMDWIN|SBOXOK),
- EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
- TRLBAR|EXTRA|NEEDARG|CMDWIN),
- EX(CMD_setglobal, "setglobal", ex_set,
- TRLBAR|EXTRA|CMDWIN|SBOXOK),
- EX(CMD_setlocal, "setlocal", ex_set,
- TRLBAR|EXTRA|CMDWIN|SBOXOK),
- EX(CMD_sfind, "sfind", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_sfirst, "sfirst", ex_rewind,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_simalt, "simalt", ex_simalt,
- NEEDARG|WORD1|TRLBAR|CMDWIN),
- EX(CMD_sign, "sign", ex_sign,
- NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN),
- EX(CMD_silent, "silent", ex_wrongmodifier,
- NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_sleep, "sleep", ex_sleep,
- RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_slast, "slast", ex_last,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_smagic, "smagic", ex_submagic,
- RANGE|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_smap, "smap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_smapclear, "smapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_smenu, "smenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_snext, "snext", ex_next,
- RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_snomagic, "snomagic", ex_submagic,
- RANGE|WHOLEFOLD|EXTRA|CMDWIN),
- EX(CMD_snoremap, "snoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_snoremenu, "snoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_source, "source", ex_source,
- BANG|FILE1|TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_sort, "sort", ex_sort,
- RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY),
- EX(CMD_split, "split", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_spellgood, "spellgood", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
- EX(CMD_spelldump, "spelldump", ex_spelldump,
- BANG|TRLBAR),
- EX(CMD_spellinfo, "spellinfo", ex_spellinfo,
- TRLBAR),
- EX(CMD_spellrepall, "spellrepall", ex_spellrepall,
- TRLBAR),
- EX(CMD_spellundo, "spellundo", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
- EX(CMD_spellwrong, "spellwrong", ex_spell,
- BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR),
- EX(CMD_sprevious, "sprevious", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_srewind, "srewind", ex_rewind,
- EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_stop, "stop", ex_stop,
- TRLBAR|BANG|CMDWIN),
- EX(CMD_stag, "stag", ex_stag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
- EX(CMD_startinsert, "startinsert", ex_startinsert,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_startgreplace, "startgreplace", ex_startinsert,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_startreplace, "startreplace", ex_startinsert,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_stopinsert, "stopinsert", ex_stopinsert,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_stjump, "stjump", ex_stag,
- BANG|TRLBAR|WORD1),
- EX(CMD_stselect, "stselect", ex_stag,
- BANG|TRLBAR|WORD1),
- EX(CMD_sunhide, "sunhide", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_sunmap, "sunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_sunmenu, "sunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_suspend, "suspend", ex_stop,
- TRLBAR|BANG|CMDWIN),
- EX(CMD_sview, "sview", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_swapname, "swapname", ex_swapname,
- TRLBAR|CMDWIN),
- EX(CMD_syntax, "syntax", ex_syntax,
- EXTRA|NOTRLCOM|CMDWIN),
- EX(CMD_syntime, "syntime", ex_syntime,
- NEEDARG|WORD1|TRLBAR|CMDWIN),
- EX(CMD_syncbind, "syncbind", ex_syncbind,
- TRLBAR),
- EX(CMD_t, "t", ex_copymove,
- RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_tNext, "tNext", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_tag, "tag", ex_tag,
- RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
- EX(CMD_tags, "tags", do_tags,
- TRLBAR|CMDWIN),
- EX(CMD_tab, "tab", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_tabclose, "tabclose", ex_tabclose,
- RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN),
- EX(CMD_tabdo, "tabdo", ex_listdo,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_tabedit, "tabedit", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_tabfind, "tabfind", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR),
- EX(CMD_tabfirst, "tabfirst", ex_tabnext,
- TRLBAR),
- EX(CMD_tabmove, "tabmove", ex_tabmove,
- RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR),
- EX(CMD_tablast, "tablast", ex_tabnext,
- TRLBAR),
- EX(CMD_tabnext, "tabnext", ex_tabnext,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_tabnew, "tabnew", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_tabonly, "tabonly", ex_tabonly,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_tabprevious, "tabprevious", ex_tabnext,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_tabNext, "tabNext", ex_tabnext,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_tabrewind, "tabrewind", ex_tabnext,
- TRLBAR),
- EX(CMD_tabs, "tabs", ex_tabs,
- TRLBAR|CMDWIN),
- EX(CMD_tearoff, "tearoff", ex_tearoff,
- NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN),
- EX(CMD_tfirst, "tfirst", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_throw, "throw", ex_throw,
- EXTRA|NEEDARG|SBOXOK|CMDWIN),
- EX(CMD_tjump, "tjump", ex_tag,
- BANG|TRLBAR|WORD1),
- EX(CMD_tlast, "tlast", ex_tag,
- BANG|TRLBAR),
- EX(CMD_tmenu, "tmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_tnext, "tnext", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_topleft, "topleft", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_tprevious, "tprevious", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_trewind, "trewind", ex_tag,
- RANGE|NOTADR|BANG|TRLBAR|ZEROR),
- EX(CMD_try, "try", ex_try,
- TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_tselect, "tselect", ex_tag,
- BANG|TRLBAR|WORD1),
- EX(CMD_tunmenu, "tunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_undo, "undo", ex_undo,
- RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN),
- EX(CMD_undojoin, "undojoin", ex_undojoin,
- TRLBAR|CMDWIN),
- EX(CMD_undolist, "undolist", ex_undolist,
- TRLBAR|CMDWIN),
- EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_unhide, "unhide", ex_buffer_all,
- RANGE|NOTADR|COUNT|TRLBAR),
- EX(CMD_unlet, "unlet", ex_unlet,
- BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
- EX(CMD_unlockvar, "unlockvar", ex_lockvar,
- BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN),
- EX(CMD_unmap, "unmap", ex_unmap,
- BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_unmenu, "unmenu", ex_menu,
- BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_unsilent, "unsilent", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_update, "update", ex_update,
- RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
- EX(CMD_vglobal, "vglobal", ex_global,
- RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN),
- EX(CMD_version, "version", ex_version,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_verbose, "verbose", ex_wrongmodifier,
- NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_vertical, "vertical", ex_wrongmodifier,
- NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_visual, "visual", ex_edit,
- BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_view, "view", ex_edit,
- BANG|FILE1|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_vimgrep, "vimgrep", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep,
- RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
- EX(CMD_viusage, "viusage", ex_viusage,
- TRLBAR),
- EX(CMD_vmap, "vmap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_vmapclear, "vmapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_vmenu, "vmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_vnoremap, "vnoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_vnew, "vnew", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_vnoremenu, "vnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_vsplit, "vsplit", ex_splitview,
- BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_vunmap, "vunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_vunmenu, "vunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_write, "write", ex_write,
- RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
- EX(CMD_wNext, "wNext", ex_wnext,
- RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
- EX(CMD_wall, "wall", do_wqall,
- BANG|TRLBAR|CMDWIN),
- EX(CMD_while, "while", ex_while,
- EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
- EX(CMD_winsize, "winsize", ex_winsize,
- EXTRA|NEEDARG|TRLBAR),
- EX(CMD_wincmd, "wincmd", ex_wincmd,
- NEEDARG|WORD1|RANGE|NOTADR),
- EX(CMD_windo, "windo", ex_listdo,
- BANG|NEEDARG|EXTRA|NOTRLCOM),
- EX(CMD_winpos, "winpos", ex_winpos,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_wnext, "wnext", ex_wnext,
- RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
- EX(CMD_wprevious, "wprevious", ex_wnext,
- RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR),
- EX(CMD_wq, "wq", ex_exit,
- RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
- EX(CMD_wqall, "wqall", do_wqall,
- BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
- EX(CMD_wsverb, "wsverb", ex_wsverb,
- EXTRA|NOTADR|NEEDARG),
- EX(CMD_wundo, "wundo", ex_wundo,
- BANG|NEEDARG|FILE1),
- EX(CMD_wviminfo, "wviminfo", ex_viminfo,
- BANG|FILE1|TRLBAR|CMDWIN),
- EX(CMD_xit, "xit", ex_exit,
- RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN),
- EX(CMD_xall, "xall", do_wqall,
- BANG|TRLBAR),
- EX(CMD_xmap, "xmap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_xmapclear, "xmapclear", ex_mapclear,
- EXTRA|TRLBAR|CMDWIN),
- EX(CMD_xmenu, "xmenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_xnoremap, "xnoremap", ex_map,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_xnoremenu, "xnoremenu", ex_menu,
- RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_xunmap, "xunmap", ex_unmap,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_xunmenu, "xunmenu", ex_menu,
- EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
- EX(CMD_yank, "yank", ex_operators,
- RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN),
- EX(CMD_z, "z", ex_z,
- RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN),
+typedef char_u *(*LineGetter)(int, void *, int);
- /* commands that don't start with a lowercase letter */
- EX(CMD_bang, "!", ex_bang,
- RANGE|WHOLEFOLD|BANG|FILES|CMDWIN),
- EX(CMD_pound, "#", ex_print,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
- EX(CMD_and, "&", do_sub,
- RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
- EX(CMD_star, "*", ex_at,
- RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_lshift, "<", ex_operators,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_equal, "=", ex_equal,
- RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN),
- EX(CMD_rshift, ">", ex_operators,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY),
- EX(CMD_at, "@", ex_at,
- RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN),
- EX(CMD_Next, "Next", ex_previous,
- EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR),
- EX(CMD_Print, "Print", ex_print,
- RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN),
- EX(CMD_tilde, "~", do_sub,
- RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
-
-#ifndef DO_DECLARE_EXCMD
- CMD_SIZE, /* MUST be after all real commands! */
- CMD_USER = -1, /* User-defined command */
- CMD_USER_BUF = -2 /* User-defined command local to buffer */
-#endif
-};
+/// Structure for command definition.
+typedef struct cmdname {
+ char_u *cmd_name; ///< Name of the command.
+ ex_func_T cmd_func; ///< Function with implementation of this command.
+ long_u cmd_argt; ///< Relevant flags from the declared above.
+} CommandDefinition;
#define USER_CMDIDX(idx) ((int)(idx) < 0)
-#ifndef DO_DECLARE_EXCMD
-typedef enum CMD_index cmdidx_T;
-
-/*
- * Arguments used for Ex commands.
- */
+/// Arguments used for Ex commands.
struct exarg {
- char_u *arg; /* argument of the command */
- char_u *nextcmd; /* next command (NULL if none) */
- char_u *cmd; /* the name of the command (except for :make) */
- char_u **cmdlinep; /* pointer to pointer of allocated cmdline */
- cmdidx_T cmdidx; /* the index for the command */
- long argt; /* flags for the command */
- int skip; /* don't execute the command, only parse it */
- int forceit; /* TRUE if ! present */
- int addr_count; /* the number of addresses given */
- linenr_T line1; /* the first line number */
- linenr_T line2; /* the second line number or count */
- int flags; /* extra flags after count: EXFLAG_ */
- char_u *do_ecmd_cmd; /* +command arg to be used in edited file */
- linenr_T do_ecmd_lnum; /* the line number in an edited file */
- int append; /* TRUE with ":w >>file" command */
- int usefilter; /* TRUE with ":w !command" and ":r!command" */
- int amount; /* number of '>' or '<' for shift command */
- int regname; /* register name (NUL if none) */
- int force_bin; /* 0, FORCE_BIN or FORCE_NOBIN */
- int read_edit; /* ++edit argument */
- int force_ff; /* ++ff= argument (index in cmd[]) */
- int force_enc; /* ++enc= argument (index in cmd[]) */
- int bad_char; /* BAD_KEEP, BAD_DROP or replacement byte */
- int useridx; /* user command index */
- char_u *errmsg; /* returned error message */
- char_u *(*getline)(int, void *, int);
- void *cookie; /* argument for getline() */
- struct condstack *cstack; /* condition stack for ":if" etc. */
+ char_u *arg; ///< argument of the command
+ char_u *nextcmd; ///< next command (NULL if none)
+ char_u *cmd; ///< the name of the command (except for :make)
+ char_u **cmdlinep; ///< pointer to pointer of allocated cmdline
+ cmdidx_T cmdidx; ///< the index for the command
+ long argt; ///< flags for the command
+ int skip; ///< don't execute the command, only parse it
+ int forceit; ///< TRUE if ! present
+ int addr_count; ///< the number of addresses given
+ linenr_T line1; ///< the first line number
+ linenr_T line2; ///< the second line number or count
+ int flags; ///< extra flags after count: EXFLAG_
+ char_u *do_ecmd_cmd; ///< +command arg to be used in edited file
+ linenr_T do_ecmd_lnum; ///< the line number in an edited file
+ int append; ///< TRUE with ":w >>file" command
+ int usefilter; ///< TRUE with ":w !command" and ":r!command"
+ int amount; ///< number of '>' or '<' for shift command
+ int regname; ///< register name (NUL if none)
+ int force_bin; ///< 0, FORCE_BIN or FORCE_NOBIN
+ int read_edit; ///< ++edit argument
+ int force_ff; ///< ++ff= argument (index in cmd[])
+ int force_enc; ///< ++enc= argument (index in cmd[])
+ int bad_char; ///< BAD_KEEP, BAD_DROP or replacement byte
+ int useridx; ///< user command index
+ char_u *errmsg; ///< returned error message
+ LineGetter getline; ///< Function used to get the next line
+ void *cookie; ///< argument for getline()
+ struct condstack *cstack; ///< condition stack for ":if" etc.
};
#define FORCE_BIN 1 /* ":edit ++bin file" */
@@ -1209,5 +160,4 @@ typedef struct {
char_u *save_ei; /* saved value of 'eventignore' */
} cmdmod_T;
-#endif
-#endif
+#endif // NVIM_EX_CMDS_DEFS_H
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 446d51be3f..ab7add1c5b 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -66,6 +66,7 @@
#include "nvim/version.h"
#include "nvim/window.h"
#include "nvim/os/os.h"
+#include "nvim/ex_cmds_defs.h"
static int quitmore = 0;
static int ex_pressedreturn = FALSE;
@@ -156,42 +157,9 @@ static int did_lcd; /* whether ":lcd" was produced for a session */
/*
* Declare cmdnames[].
*/
-#define DO_DECLARE_EXCMD
-#include "nvim/ex_cmds_defs.h"
-
-/*
- * Table used to quickly search for a command, based on its first character.
- */
-static cmdidx_T cmdidxs[27] =
-{
- CMD_append,
- CMD_buffer,
- CMD_change,
- CMD_delete,
- CMD_edit,
- CMD_file,
- CMD_global,
- CMD_help,
- CMD_insert,
- CMD_join,
- CMD_k,
- CMD_list,
- CMD_move,
- CMD_next,
- CMD_open,
- CMD_print,
- CMD_quit,
- CMD_read,
- CMD_substitute,
- CMD_t,
- CMD_undo,
- CMD_vglobal,
- CMD_write,
- CMD_xit,
- CMD_yank,
- CMD_z,
- CMD_bang
-};
+#ifdef INCLUDE_GENERATED_DECLARATIONS
+# include "ex_cmds_defs.generated.h"
+#endif
static char_u dollar_command[2] = {'$', 0};
diff --git a/src/nvim/ex_docmd.h b/src/nvim/ex_docmd.h
index cd3ef2738d..a5a4edbbbf 100644
--- a/src/nvim/ex_docmd.h
+++ b/src/nvim/ex_docmd.h
@@ -1,6 +1,8 @@
#ifndef NVIM_EX_DOCMD_H
#define NVIM_EX_DOCMD_H
+#include "nvim/ex_cmds_defs.h"
+
/* flags for do_cmdline() */
#define DOCMD_VERBOSE 0x01 /* included command in error message */
#define DOCMD_NOWAIT 0x02 /* don't call wait_return() and friends */
@@ -17,8 +19,6 @@
#define EXMODE_NORMAL 1
#define EXMODE_VIM 2
-typedef char_u *(*LineGetter)(int, void *, int);
-
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "ex_docmd.h.generated.h"
#endif