aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--checkers/cl-lsp.vim6
-rw-r--r--checkers/perl-languageserver.vim7
-rw-r--r--checkers/slp.vim3
-rw-r--r--settings/perl-languageserver.vim2
-rw-r--r--settings/slp.vim2
5 files changed, 15 insertions, 5 deletions
diff --git a/checkers/cl-lsp.vim b/checkers/cl-lsp.vim
index e8e7d9f..1923f0f 100644
--- a/checkers/cl-lsp.vim
+++ b/checkers/cl-lsp.vim
@@ -1,7 +1,7 @@
function! LspCheckCommand() abort
let l:command = trim(filter(systemlist('ros version'), 'v:val =~# "^homedir="')[0][8:], '''"') . '/bin/cl-lsp'
- if filereadable(l:command)
- return l:command
+ if !filereadable(l:command)
+ return ''
endif
- return ''
+ return l:command
endfunction
diff --git a/checkers/perl-languageserver.vim b/checkers/perl-languageserver.vim
new file mode 100644
index 0000000..be76ac2
--- /dev/null
+++ b/checkers/perl-languageserver.vim
@@ -0,0 +1,7 @@
+function! LspCheckCommand() abort
+ call system('perl -e "use Perl::LanguageServer"')
+ if v:shell_error
+ return ''
+ endif
+ return 'perl -MPerl::LanguageServer -e "Perl::LanguageServer->run"'
+endfunction
diff --git a/checkers/slp.vim b/checkers/slp.vim
new file mode 100644
index 0000000..a76188d
--- /dev/null
+++ b/checkers/slp.vim
@@ -0,0 +1,3 @@
+function! LspCheckCommand() abort
+ return lsp_settings#exec_path('slp.pl')
+endfunction
diff --git a/settings/perl-languageserver.vim b/settings/perl-languageserver.vim
index f43c624..1195cc8 100644
--- a/settings/perl-languageserver.vim
+++ b/settings/perl-languageserver.vim
@@ -2,7 +2,7 @@ augroup vimlsp_settings_perl_languageserver
au!
LspRegisterServer {
\ 'name': 'perl-languageserver',
- \ 'cmd': {server_info->lsp_settings#get('perl-languageserver', 'cmd', [lsp_settings#exec_path('perl-languageserver')])},
+ \ 'cmd': {server_info->lsp_settings#get('perl-languageserver', 'cmd', ['perl', '-MPerl::LanguageServer', '-e', 'Perl::LanguageServer->run'])},
\ 'root_uri':{server_info->lsp_settings#get('perl-languageserver', 'root_uri', lsp_settings#root_uri(['.git/']))},
\ 'initialization_options': lsp_settings#get('perl-languageserver', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('perl-languageserver', 'whitelist', ['perl']),
diff --git a/settings/slp.vim b/settings/slp.vim
index 380bdf4..7cb3fa2 100644
--- a/settings/slp.vim
+++ b/settings/slp.vim
@@ -2,7 +2,7 @@ augroup vimlsp_settings_slp
au!
LspRegisterServer {
\ 'name': 'slp',
- \ 'cmd': {server_info->lsp_settings#get('slp', 'cmd', [lsp_settings#exec_path('slp')])},
+ \ 'cmd': {server_info->lsp_settings#get('slp', 'cmd', [lsp_settings#exec_path('slp.pl')])},
\ 'root_uri':{server_info->lsp_settings#get('slp', 'root_uri', lsp_settings#root_uri(['.git/']))},
\ 'initialization_options': lsp_settings#get('slp', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('slp', 'whitelist', ['perl']),