diff options
author | Famiu Haque <famiuhaque@protonmail.com> | 2022-06-28 16:22:29 +0600 |
---|---|---|
committer | Famiu Haque <famiuhaque@protonmail.com> | 2022-06-28 17:31:04 +0600 |
commit | 606ec8b70874095a62289f1df3934eca78625742 (patch) | |
tree | d5501227f7b270fec8d01ee5915da4175c6e7d22 /test/functional/api/vim_spec.lua | |
parent | ee6b21e8430ea810ba2e3e9163b941386a2e1d65 (diff) | |
download | rneovim-606ec8b70874095a62289f1df3934eca78625742.tar.gz rneovim-606ec8b70874095a62289f1df3934eca78625742.tar.bz2 rneovim-606ec8b70874095a62289f1df3934eca78625742.zip |
feat(api): make `nvim_parse_cmd` and `nvim_cmd` support :filter
Also fixes a memory leak in `parse_cmdline`.
Closes #18954.
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r-- | test/functional/api/vim_spec.lua | 87 |
1 files changed, 86 insertions, 1 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index c05345dd4c..858463efbd 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -3167,6 +3167,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3203,6 +3207,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3239,6 +3247,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3275,6 +3287,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3311,6 +3327,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3347,6 +3367,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3383,6 +3407,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = true, + filter = { + pattern = "foo", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3398,7 +3426,45 @@ describe('API', function() tab = 2, verbose = 15 }, - }, meths.parse_cmd('15verbose silent! aboveleft topleft tab split foo.txt', {})) + }, meths.parse_cmd('15verbose silent! aboveleft topleft tab filter /foo/ split foo.txt', {})) + eq({ + cmd = 'split', + args = { 'foo.txt' }, + bang = false, + range = {}, + count = -1, + reg = '', + addr = '?', + magic = { + file = true, + bar = true + }, + nargs = '?', + nextcmd = '', + mods = { + browse = false, + confirm = false, + emsg_silent = false, + filter = { + pattern = "foo", + force = true + }, + hide = false, + keepalt = false, + keepjumps = false, + keepmarks = false, + keeppatterns = false, + lockmarks = false, + noautocmd = false, + noswapfile = false, + sandbox = false, + silent = false, + vertical = false, + split = "", + tab = 0, + verbose = -1 + }, + }, meths.parse_cmd('filter! /foo/ split foo.txt', {})) end) it('works with user commands', function() command('command -bang -nargs=+ -range -addr=lines MyCommand echo foo') @@ -3420,6 +3486,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3456,6 +3526,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3493,6 +3567,10 @@ describe('API', function() browse = false, confirm = false, emsg_silent = false, + filter = { + pattern = "", + force = false + }, hide = false, keepalt = false, keepjumps = false, @@ -3604,6 +3682,13 @@ describe('API', function() meths.create_user_command("Foo", 'set verbose', {}) eq(" verbose=1", meths.cmd({ cmd = "Foo", mods = { verbose = 1 } }, { output = true })) eq(0, meths.get_option_value("verbose", {})) + command('edit foo.txt | edit bar.txt') + eq(' 1 #h "foo.txt" line 1', + meths.cmd({ cmd = "buffers", mods = { filter = { pattern = "foo", force = false } } }, + { output = true })) + eq(' 2 %a "bar.txt" line 1', + meths.cmd({ cmd = "buffers", mods = { filter = { pattern = "foo", force = true } } }, + { output = true })) end) it('works with magic.file', function() exec_lua([[ |