From e8af34dc635981367ba3b1da93b51e6984ef6111 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Fri, 17 Nov 2017 17:52:51 -0500 Subject: win: provider: Detect(): return *.cmd path (#7577) neovim-ruby-host is a ruby script. neovim-node-host is a shell script. Both don't work in cmd.exe so gem and npm provide batchfile shims. Return the full path of these shims, cmd.exe knows better what to do with these files. --- runtime/autoload/provider/node.vim | 16 ++++++++++------ runtime/autoload/provider/ruby.vim | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim index ce2740e813..b08ad4f316 100644 --- a/runtime/autoload/provider/node.vim +++ b/runtime/autoload/provider/node.vim @@ -6,7 +6,7 @@ let g:loaded_node_provider = 1 let s:job_opts = {'rpc': v:true, 'on_stderr': function('provider#stderr_collector')} function! provider#node#Detect() abort - return exepath('neovim-node-host') + return has('win32') ? exepath('neovim-node-host.cmd') : exepath('neovim-node-host') endfunction function! provider#node#Prog() @@ -19,13 +19,17 @@ function! provider#node#Require(host) abort return endif - let args = ['node'] + if has('win32') + let args = provider#node#Prog() + else + let args = ['node'] - if !empty($NVIM_NODE_HOST_DEBUG) - call add(args, '--inspect-brk') - endif + if !empty($NVIM_NODE_HOST_DEBUG) + call add(args, '--inspect-brk') + endif - call add(args , provider#node#Prog()) + call add(args , provider#node#Prog()) + endif try let channel_id = jobstart(args, s:job_opts) diff --git a/runtime/autoload/provider/ruby.vim b/runtime/autoload/provider/ruby.vim index 7df3500267..518a9dc793 100644 --- a/runtime/autoload/provider/ruby.vim +++ b/runtime/autoload/provider/ruby.vim @@ -19,7 +19,7 @@ function! provider#ruby#Detect() abort if exists("g:ruby_host_prog") return g:ruby_host_prog else - return exepath('neovim-ruby-host') + return has('win32') ? exepath('neovim-ruby-host.cmd') : exepath('neovim-ruby-host') end endfunction -- cgit