aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2020-01-02 20:20:48 +0900
committerGitHub <noreply@github.com>2020-01-02 20:20:48 +0900
commitf683b9b835f55b184eda28666da198ce0342d33c (patch)
tree364ff7e2d464dd79a5cf896207a1b37852c59fd6 /plugin
parentbcbc1a04f0155f917ec0d08364580b2c62d0fc69 (diff)
parent26a100c251a80ab145ff4be3a8049736ba3e088d (diff)
downloadvim-lsp-settings-f683b9b835f55b184eda28666da198ce0342d33c.tar.gz
vim-lsp-settings-f683b9b835f55b184eda28666da198ce0342d33c.tar.bz2
vim-lsp-settings-f683b9b835f55b184eda28666da198ce0342d33c.zip
Merge pull request #56 from prabirshrestha/neovim-support
add support for neovim
Diffstat (limited to 'plugin')
-rw-r--r--plugin/lsp_settings.vim16
1 files changed, 11 insertions, 5 deletions
diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim
index 1081bf5..5c32064 100644
--- a/plugin/lsp_settings.vim
+++ b/plugin/lsp_settings.vim
@@ -77,7 +77,8 @@ function! s:vimlsp_installer() abort
return []
endfunction
-function! s:vimlsp_install_server_post(command, job, code) abort
+" neovim passes third argument as 'exit' while vim passes only 2 arguments
+function! s:vimlsp_install_server_post(command, job, code, ...) abort
if a:code != 0
return
endif
@@ -104,10 +105,15 @@ function! s:vimlsp_install_server() abort
call delete(l:server_install_dir, 'rf')
endif
call mkdir(l:server_install_dir, 'p')
- let l:bufnr = term_start(l:entry[1], {'cwd': l:server_install_dir})
- let l:job = term_getjob(l:bufnr)
- if l:job != v:null
- call job_setoptions(l:job, {'exit_cb': function('s:vimlsp_install_server_post', [l:entry[0]])})
+ if has('nvim')
+ split new
+ call termopen(l:entry[1], {'cwd': l:server_install_dir, 'on_exit': function('s:vimlsp_install_server_post', [l:entry[0]])}) | startinsert
+ else
+ let l:bufnr = term_start(l:entry[1], {'cwd': l:server_install_dir})
+ let l:job = term_getjob(l:bufnr)
+ if l:job != v:null
+ call job_setoptions(l:job, {'exit_cb': function('s:vimlsp_install_server_post', [l:entry[0]])})
+ endif
endif
endfunction