diff options
Diffstat (limited to 'src/nvim/ex_cmds.lua')
| -rw-r--r-- | src/nvim/ex_cmds.lua | 196 | 
1 files changed, 114 insertions, 82 deletions
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index 76191d5a56..4806eff1b4 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -1,4 +1,4 @@ -bit = require 'bit' +local bit = require 'bit'  -- Description of the values below is contained in ex_cmds_defs.h file.  local RANGE      =    0x001 @@ -28,13 +28,15 @@ local FILES      = bit.bor(XFILE, EXTRA)  local WORD1      = bit.bor(EXTRA, NOSPC)  local FILE1      = bit.bor(FILES, NOSPC) -local ADDR_LINES            =  0 -local ADDR_WINDOWS          =  1 -local ADDR_ARGUMENTS        =  2 -local ADDR_LOADED_BUFFERS   =  3 -local ADDR_BUFFERS          =  4 -local ADDR_TABS             =  5 -local ADDR_QUICKFIX         =  6 +local ADDR_LINES            =  0    -- buffer line numbers +local ADDR_WINDOWS          =  1    -- window number +local ADDR_ARGUMENTS        =  2    -- argument number +local ADDR_LOADED_BUFFERS   =  3    -- buffer number of loaded buffer +local ADDR_BUFFERS          =  4    -- buffer number +local ADDR_TABS             =  5    -- tab page number +local ADDR_TABS_RELATIVE    =  6    -- Tab page that only relative +local ADDR_QUICKFIX         =  7    -- quickfix list entry number +local ADDR_OTHER            =  99   -- something else  -- The following table is described in ex_cmds_defs.h file.  return { @@ -106,7 +108,7 @@ return {    },    {      command='argedit', -    flags=bit.bor(BANG, NEEDARG, RANGE, NOTADR, ZEROR, FILE1, EDITCMD, ARGOPT, TRLBAR), +    flags=bit.bor(BANG, NEEDARG, RANGE, NOTADR, ZEROR, FILES, EDITCMD, ARGOPT, TRLBAR),      addr_type=ADDR_ARGUMENTS,      func='ex_argedit',    }, @@ -357,6 +359,12 @@ return {      func='ex_cbuffer',    },    { +    command='cbottom', +    flags=bit.bor(TRLBAR), +    addr_type=ADDR_LINES, +    func='ex_cbottom', +  }, +  {      command='cc',      flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR, BANG),      addr_type=ADDR_LINES, @@ -443,6 +451,12 @@ return {      func='ex_changes',    },    { +    command='checkhealth', +    flags=bit.bor(EXTRA, TRLBAR), +    addr_type=ADDR_LINES, +    func='ex_checkhealth', +  }, +  {      command='checkpath',      flags=bit.bor(TRLBAR, BANG, CMDWIN),      addr_type=ADDR_LINES, @@ -455,6 +469,12 @@ return {      func='ex_checktime',    },    { +    command='chistory', +    flags=bit.bor(TRLBAR), +    addr_type=ADDR_LINES, +    func='qf_history', +  }, +  {      command='clist',      flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),      addr_type=ADDR_LINES, @@ -473,6 +493,12 @@ return {      func='ex_close',    },    { +    command='clearjumps', +    flags=bit.bor(TRLBAR, CMDWIN), +    addr_type=ADDR_LINES, +    func='ex_clearjumps', +  }, +  {      command='cmap',      flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, USECTRLV, CMDWIN),      addr_type=ADDR_LINES, @@ -594,7 +620,7 @@ return {    },    {      command='cquit', -    flags=bit.bor(TRLBAR, BANG), +    flags=bit.bor(RANGE, NOTADR, COUNT, ZEROR, TRLBAR, BANG),      addr_type=ADDR_LINES,      func='ex_cquit',    }, @@ -608,13 +634,13 @@ return {      command='cscope',      flags=bit.bor(EXTRA, NOTRLCOM, XFILE),      addr_type=ADDR_LINES, -    func='do_cscope', +    func='ex_cscope',    },    {      command='cstag',      flags=bit.bor(BANG, TRLBAR, WORD1),      addr_type=ADDR_LINES, -    func='do_cstag', +    func='ex_cstag',    },    {      command='cunmap', @@ -666,13 +692,13 @@ return {    },    {      command='delcommand', -    flags=bit.bor(NEEDARG, WORD1, TRLBAR, CMDWIN), +    flags=bit.bor(BANG, NEEDARG, WORD1, TRLBAR, CMDWIN),      addr_type=ADDR_LINES,      func='ex_delcommand',    },    {      command='delfunction', -    flags=bit.bor(NEEDARG, WORD1, CMDWIN), +    flags=bit.bor(BANG, NEEDARG, WORD1, CMDWIN),      addr_type=ADDR_LINES,      func='ex_delfunction',    }, @@ -911,6 +937,12 @@ return {      func='ex_filetype',    },    { +    command='filter', +    flags=bit.bor(BANG, NEEDARG, EXTRA, NOTRLCOM), +    addr_type=ADDR_LINES, +    func='ex_wrongmodifier', +  }, +  {      command='find',      flags=bit.bor(RANGE, NOTADR, BANG, FILE1, EDITCMD, ARGOPT, TRLBAR),      addr_type=ADDR_LINES, @@ -1050,7 +1082,7 @@ return {    },    {      command='hide', -    flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EXTRA, NOTRLCOM), +    flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EXTRA, TRLBAR),      addr_type=ADDR_WINDOWS,      func='ex_hide',    }, @@ -1271,6 +1303,12 @@ return {      func='ex_cbuffer',    },    { +    command='lbottom', +    flags=bit.bor(TRLBAR), +    addr_type=ADDR_LINES, +    func='ex_cbottom', +  }, +  {      command='lcd',      flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),      addr_type=ADDR_LINES, @@ -1292,7 +1330,7 @@ return {      command='lcscope',      flags=bit.bor(EXTRA, NOTRLCOM, XFILE),      addr_type=ADDR_LINES, -    func='do_cscope', +    func='ex_cscope',    },    {      command='ldo', @@ -1381,6 +1419,12 @@ return {      func='ex_helpgrep',    },    { +    command='lhistory', +    flags=bit.bor(TRLBAR), +    addr_type=ADDR_LINES, +    func='qf_history', +  }, +  {      command='ll',      flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR, BANG),      addr_type=ADDR_LINES, @@ -1510,19 +1554,19 @@ return {      command='lua',      flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_script_ni', +    func='ex_lua',    },    {      command='luado',      flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_ni', +    func='ex_luado',    },    {      command='luafile',      flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_ni', +    func='ex_luafile',    },    {      command='lvimgrep', @@ -1604,8 +1648,8 @@ return {    },    {      command='messages', -    flags=bit.bor(TRLBAR, CMDWIN), -    addr_type=ADDR_LINES, +    flags=bit.bor(EXTRA, TRLBAR, RANGE, CMDWIN), +    addr_type=ADDR_OTHER,      func='ex_messages',    },    { @@ -1663,24 +1707,6 @@ return {      func='ex_next',    },    { -    command='nbkey', -    flags=bit.bor(EXTRA, NOTADR, NEEDARG), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  { -    command='nbclose', -    flags=bit.bor(TRLBAR, CMDWIN), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  { -    command='nbstart', -    flags=bit.bor(WORD1, TRLBAR, CMDWIN), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  {      command='new',      flags=bit.bor(BANG, FILE1, RANGE, NOTADR, EDITCMD, ARGOPT, TRLBAR),      addr_type=ADDR_LINES, @@ -1915,18 +1941,6 @@ return {      func='ex_previous',    },    { -    command='promptfind', -    flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  { -    command='promptrepl', -    flags=bit.bor(EXTRA, NOTRLCOM, CMDWIN), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  {      command='profile',      flags=bit.bor(BANG, EXTRA, TRLBAR, CMDWIN),      addr_type=ADDR_LINES, @@ -2053,6 +2067,30 @@ return {      func='ex_py3file',    },    { +    command='pyx', +    flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN), +    addr_type=ADDR_LINES, +    func='ex_pyx', +  }, +  { +    command='pyxdo', +    flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN), +    addr_type=ADDR_LINES, +    func='ex_pyxdo', +  }, +  { +    command='pythonx', +    flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN), +    addr_type=ADDR_LINES, +    func='ex_pyx', +  }, +  { +    command='pyxfile', +    flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN), +    addr_type=ADDR_LINES, +    func='ex_pyxfile', +  }, +  {      command='quit',      flags=bit.bor(BANG, RANGE, COUNT, NOTADR, TRLBAR, CMDWIN),      addr_type=ADDR_WINDOWS, @@ -2114,7 +2152,7 @@ return {    },    {      command='resize', -    flags=bit.bor(RANGE, NOTADR, TRLBAR, WORD1), +    flags=bit.bor(RANGE, NOTADR, TRLBAR, WORD1, CMDWIN),      addr_type=ADDR_LINES,      func='ex_resize',    }, @@ -2170,19 +2208,19 @@ return {      command='ruby',      flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_script_ni', +    func='ex_ruby',    },    {      command='rubydo',      flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_ni', +    func='ex_rubydo',    },    {      command='rubyfile',      flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN),      addr_type=ADDR_LINES, -    func='ex_ni', +    func='ex_rubyfile',    },    {      command='rviminfo', @@ -2194,7 +2232,7 @@ return {      command='substitute',      flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN),      addr_type=ADDR_LINES, -    func='do_sub', +    func='ex_substitute',    },    {      command='sNext', @@ -2282,8 +2320,8 @@ return {    },    {      command='scriptnames', -    flags=bit.bor(TRLBAR, CMDWIN), -    addr_type=ADDR_LINES, +    flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR, CMDWIN), +    addr_type=ADDR_OTHER,      func='ex_scriptnames',    },    { @@ -2296,7 +2334,7 @@ return {      command='scscope',      flags=bit.bor(EXTRA, NOTRLCOM),      addr_type=ADDR_LINES, -    func='do_scscope', +    func='ex_scscope',    },    {      command='set', @@ -2619,12 +2657,12 @@ return {    {      command='tab',      flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM), -    addr_type=ADDR_LINES, +    addr_type=ADDR_TABS,      func='ex_wrongmodifier',    },    {      command='tabclose', -    flags=bit.bor(RANGE, NOTADR, COUNT, BANG, TRLBAR, CMDWIN), +    flags=bit.bor(BANG, RANGE, NOTADR, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN),      addr_type=ADDR_TABS,      func='ex_tabclose',    }, @@ -2649,7 +2687,7 @@ return {    {      command='tabfirst',      flags=bit.bor(TRLBAR), -    addr_type=ADDR_LINES, +    addr_type=ADDR_TABS,      func='ex_tabnext',    },    { @@ -2661,13 +2699,13 @@ return {    {      command='tablast',      flags=bit.bor(TRLBAR), -    addr_type=ADDR_LINES, +    addr_type=ADDR_TABS,      func='ex_tabnext',    },    {      command='tabnext', -    flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), -    addr_type=ADDR_LINES, +    flags=bit.bor(RANGE, NOTADR, ZEROR, EXTRA, NOSPC, TRLBAR), +    addr_type=ADDR_TABS,      func='ex_tabnext',    },    { @@ -2678,32 +2716,32 @@ return {    },    {      command='tabonly', -    flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR, CMDWIN), +    flags=bit.bor(BANG, RANGE, NOTADR, ZEROR, EXTRA, NOSPC, TRLBAR, CMDWIN),      addr_type=ADDR_TABS,      func='ex_tabonly',    },    {      command='tabprevious', -    flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), -    addr_type=ADDR_LINES, +    flags=bit.bor(RANGE, NOTADR, ZEROR, EXTRA, NOSPC, TRLBAR), +    addr_type=ADDR_TABS_RELATIVE,      func='ex_tabnext',    },    {      command='tabNext', -    flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), -    addr_type=ADDR_LINES, +    flags=bit.bor(RANGE, NOTADR, ZEROR, EXTRA, NOSPC, TRLBAR), +    addr_type=ADDR_TABS_RELATIVE,      func='ex_tabnext',    },    {      command='tabrewind',      flags=bit.bor(TRLBAR), -    addr_type=ADDR_LINES, +    addr_type=ADDR_TABS,      func='ex_tabnext',    },    {      command='tabs',      flags=bit.bor(TRLBAR, CMDWIN), -    addr_type=ADDR_LINES, +    addr_type=ADDR_TABS,      func='ex_tabs',    },    { @@ -3032,13 +3070,13 @@ return {    },    {      command='wincmd', -    flags=bit.bor(NEEDARG, WORD1, RANGE, NOTADR), +    flags=bit.bor(NEEDARG, WORD1, RANGE, NOTADR, CMDWIN),      addr_type=ADDR_WINDOWS,      func='ex_wincmd',    },    {      command='windo', -    flags=bit.bor(BANG, NEEDARG, EXTRA, NOTRLCOM, RANGE, NOTADR, DFLALL), +    flags=bit.bor(NEEDARG, EXTRA, NOTRLCOM, RANGE, NOTADR, DFLALL),      addr_type=ADDR_WINDOWS,      func='ex_listdo',    }, @@ -3073,12 +3111,6 @@ return {      func='do_wqall',    },    { -    command='wsverb', -    flags=bit.bor(EXTRA, NOTADR, NEEDARG), -    addr_type=ADDR_LINES, -    func='ex_ni', -  }, -  {      command='wshada',      flags=bit.bor(BANG, FILE1, TRLBAR, CMDWIN),      addr_type=ADDR_LINES, @@ -3181,7 +3213,7 @@ return {      enum='CMD_and',      flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),      addr_type=ADDR_LINES, -    func='do_sub', +    func='ex_substitute',    },    {      command='<', @@ -3222,6 +3254,6 @@ return {      enum='CMD_tilde',      flags=bit.bor(RANGE, WHOLEFOLD, EXTRA, CMDWIN, MODIFY),      addr_type=ADDR_LINES, -    func='do_sub', +    func='ex_substitute',    },  }  | 
