diff options
author | Matthieu Coudron <mattator@gmail.com> | 2020-06-06 01:39:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-06 01:39:12 +0200 |
commit | fca471d8e2573c2351151051a2d2c6eee0b2243b (patch) | |
tree | 7f780041f47169417ad31a699f5105ebdfbdd1a9 | |
parent | dd4018947c9f9b39b4e473c21ebf0e27f1e7ddc5 (diff) | |
parent | 89123017b8148569bafb34d03304358cf1411a7f (diff) | |
download | rneovim-fca471d8e2573c2351151051a2d2c6eee0b2243b.tar.gz rneovim-fca471d8e2573c2351151051a2d2c6eee0b2243b.tar.bz2 rneovim-fca471d8e2573c2351151051a2d2c6eee0b2243b.zip |
Merge pull request #12411 from kuuote/fix-remote-plugin-command
runtime: fix remote plugin command fails at some case
-rw-r--r-- | runtime/autoload/remote/define.vim | 2 | ||||
-rw-r--r-- | test/functional/provider/define_spec.lua | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/runtime/autoload/remote/define.vim b/runtime/autoload/remote/define.vim index 2688a62a82..2aec96e365 100644 --- a/runtime/autoload/remote/define.vim +++ b/runtime/autoload/remote/define.vim @@ -24,7 +24,7 @@ function! remote#define#CommandOnHost(host, method, sync, name, opts) endif if has_key(a:opts, 'nargs') - call add(forward_args, ' <args>') + call add(forward_args, ' " . <q-args> . "') endif exe s:GetCommandPrefix(a:name, a:opts) diff --git a/test/functional/provider/define_spec.lua b/test/functional/provider/define_spec.lua index 51a8831274..1d50ce0a56 100644 --- a/test/functional/provider/define_spec.lua +++ b/test/functional/provider/define_spec.lua @@ -89,6 +89,21 @@ local function command_specs_for(fn, sync, first_arg_factory, init) runx(sync, handler, on_setup) end) + it('with nargs/double-quote', function() + call(fn, args..', {"nargs": "*"}') + local function on_setup() + command('RpcCommand "arg1" "arg2" "arg3"') + end + + local function handler(method, arguments) + eq('test-handler', method) + eq({'"arg1"', '"arg2"', '"arg3"'}, arguments[1]) + return '' + end + + runx(sync, handler, on_setup) + end) + it('with range', function() call(fn,args..', {"range": ""}') local function on_setup() |