diff options
author | mattn <mattn.jp@gmail.com> | 2020-01-02 20:20:48 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-02 20:20:48 +0900 |
commit | f683b9b835f55b184eda28666da198ce0342d33c (patch) | |
tree | 364ff7e2d464dd79a5cf896207a1b37852c59fd6 /plugin | |
parent | bcbc1a04f0155f917ec0d08364580b2c62d0fc69 (diff) | |
parent | 26a100c251a80ab145ff4be3a8049736ba3e088d (diff) | |
download | vim-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.vim | 16 |
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 |