diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-06-17 23:56:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-17 23:56:23 +0200 |
commit | 3a86dd54f3875d158d059dd08a1513b6957d6216 (patch) | |
tree | 32b34ecc3865226a9695cde0fca37e09382a9aee | |
parent | b160a8b5bad5d491903f702b612ef1be45a85711 (diff) | |
parent | 9b98b959d1600f7120e4b4e307a6637415a7f24b (diff) | |
download | rneovim-3a86dd54f3875d158d059dd08a1513b6957d6216.tar.gz rneovim-3a86dd54f3875d158d059dd08a1513b6957d6216.tar.bz2 rneovim-3a86dd54f3875d158d059dd08a1513b6957d6216.zip |
Merge #6841 from alexgenco/ruby-host-prog
-rw-r--r-- | runtime/autoload/health/provider.vim | 2 | ||||
-rw-r--r-- | runtime/autoload/provider/ruby.vim | 12 | ||||
-rw-r--r-- | runtime/doc/provider.txt | 13 |
3 files changed, 22 insertions, 5 deletions
diff --git a/runtime/autoload/health/provider.vim b/runtime/autoload/health/provider.vim index 6183182b73..31a235a397 100644 --- a/runtime/autoload/health/provider.vim +++ b/runtime/autoload/health/provider.vim @@ -460,7 +460,7 @@ function! s:check_ruby() abort \ 'Are you behind a firewall or proxy?']) return endif - let latest_gem = get(split(latest_gem, ' (\|, \|)$' ), 1, 'not found') + let latest_gem = get(split(latest_gem, 'neovim (\|, \|)$' ), 1, 'not found') let current_gem_cmd = host .' --version' let current_gem = s:system(current_gem_cmd) diff --git a/runtime/autoload/provider/ruby.vim b/runtime/autoload/provider/ruby.vim index c8ede20a75..91b7fb9f2c 100644 --- a/runtime/autoload/provider/ruby.vim +++ b/runtime/autoload/provider/ruby.vim @@ -16,7 +16,11 @@ function! s:job_opts.on_stderr(chan_id, data, event) endfunction function! provider#ruby#Detect() abort - return exepath('neovim-ruby-host') + if exists("g:ruby_host_prog") + return g:ruby_host_prog + else + return exepath('neovim-ruby-host') + end endfunction function! provider#ruby#Prog() @@ -24,15 +28,15 @@ function! provider#ruby#Prog() endfunction function! provider#ruby#Require(host) abort - let args = [provider#ruby#Prog()] + let prog = provider#ruby#Prog() let ruby_plugins = remote#host#PluginsForHost(a:host.name) for plugin in ruby_plugins - call add(args, plugin.path) + let prog .= " " . shellescape(plugin.path) endfor try - let channel_id = jobstart(args, s:job_opts) + let channel_id = jobstart(prog, s:job_opts) if rpcrequest(channel_id, 'poll') ==# 'ok' return channel_id endif diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt index 8d1dd0a6cd..435646bd1c 100644 --- a/runtime/doc/provider.txt +++ b/runtime/doc/provider.txt @@ -99,6 +99,19 @@ RUBY PROVIDER CONFIGURATION ~ *g:loaded_ruby_provider* To disable Ruby support: > let g:loaded_ruby_provider = 1 +< + *g:ruby_host_prog* +Command to start the Ruby host. By default this is `neovim-ruby-host`. For users +who use per-project Ruby versions with tools like RVM or rbenv, setting this can +prevent the need to install the `neovim` gem in every project. + +To use an absolute path (e.g. to an rbenv installation): > + let g:ruby_host_prog = '~/.rbenv/versions/2.4.1/bin/neovim-ruby-host' +< + +To use the RVM "system" Ruby installation: > + let g:ruby_host_prog = 'rvm system do neovim-ruby-host' +< ============================================================================== Clipboard integration *provider-clipboard* *clipboard* |