From 6bce9c34fc0445580a9ea3cdf011a5110b23e6bd Mon Sep 17 00:00:00 2001 From: prabirshrestha Date: Wed, 1 Jan 2020 09:33:43 -0800 Subject: add support for neovim --- plugin/lsp_settings.vim | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 1081bf5..313ddad 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -77,7 +77,7 @@ function! s:vimlsp_installer() abort return [] endfunction -function! s:vimlsp_install_server_post(command, job, code) abort +function! s:vimlsp_install_server_post(command, job, code, ...) abort if a:code != 0 return endif @@ -104,10 +104,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 -- cgit v1.2.3-54-g00ecf From 26a100c251a80ab145ff4be3a8049736ba3e088d Mon Sep 17 00:00:00 2001 From: prabirshrestha Date: Wed, 1 Jan 2020 09:43:37 -0800 Subject: comment on ... --- plugin/lsp_settings.vim | 1 + 1 file changed, 1 insertion(+) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 313ddad..5c32064 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -77,6 +77,7 @@ function! s:vimlsp_installer() abort return [] endfunction +" 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 -- cgit v1.2.3-54-g00ecf