From 7124c0e5acde38957af7621afd1d92fb2b6d1d58 Mon Sep 17 00:00:00 2001 From: kuuote Date: Sun, 31 May 2020 20:21:58 +0900 Subject: [PATCH 1/2] runtime: fix remote plugin command fails at some case fixes #12410 --- runtime/autoload/remote/define.vim | 2 +- test/functional/provider/define_spec.lua | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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, ' ') + call add(forward_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..c04dcd47b9 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 "arg"') + end + + local function handler(method, arguments) + eq('test-handler', method) + eq({'"arg"'}, arguments[1]) + return '' + end + + runx(sync, handler, on_setup) + end) + it('with range', function() call(fn,args..', {"range": ""}') local function on_setup() From 89123017b8148569bafb34d03304358cf1411a7f Mon Sep 17 00:00:00 2001 From: kuuote Date: Mon, 1 Jun 2020 00:10:17 +0900 Subject: [PATCH 2/2] test: rewrite to multiple arguments --- test/functional/provider/define_spec.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/functional/provider/define_spec.lua b/test/functional/provider/define_spec.lua index c04dcd47b9..1d50ce0a56 100644 --- a/test/functional/provider/define_spec.lua +++ b/test/functional/provider/define_spec.lua @@ -92,12 +92,12 @@ local function command_specs_for(fn, sync, first_arg_factory, init) it('with nargs/double-quote', function() call(fn, args..', {"nargs": "*"}') local function on_setup() - command('RpcCommand "arg"') + command('RpcCommand "arg1" "arg2" "arg3"') end local function handler(method, arguments) eq('test-handler', method) - eq({'"arg"'}, arguments[1]) + eq({'"arg1"', '"arg2"', '"arg3"'}, arguments[1]) return '' end