Use the psalm executable with the LS option
This is the simplest way of getting the psalm language server to run now.
This commit is contained in:
parent
aae6d30b1e
commit
e47c1965a6
3 changed files with 8 additions and 8 deletions
|
@ -1,7 +1,7 @@
|
||||||
" Author: Matt Brown <https://github.com/muglug>
|
" Author: Matt Brown <https://github.com/muglug>
|
||||||
" Description: plugin for Psalm, static analyzer for PHP
|
" Description: plugin for Psalm, static analyzer for PHP
|
||||||
|
|
||||||
call ale#Set('psalm_langserver_executable', 'psalm-language-server')
|
call ale#Set('psalm_langserver_executable', 'psalm')
|
||||||
call ale#Set('psalm_langserver_use_global', get(g:, 'ale_use_global_executables', 0))
|
call ale#Set('psalm_langserver_use_global', get(g:, 'ale_use_global_executables', 0))
|
||||||
|
|
||||||
function! ale_linters#php#psalm#GetProjectRoot(buffer) abort
|
function! ale_linters#php#psalm#GetProjectRoot(buffer) abort
|
||||||
|
@ -14,8 +14,8 @@ call ale#linter#Define('php', {
|
||||||
\ 'name': 'psalm',
|
\ 'name': 'psalm',
|
||||||
\ 'lsp': 'stdio',
|
\ 'lsp': 'stdio',
|
||||||
\ 'executable': {b -> ale#node#FindExecutable(b, 'psalm_langserver', [
|
\ 'executable': {b -> ale#node#FindExecutable(b, 'psalm_langserver', [
|
||||||
\ 'vendor/bin/psalm-language-server',
|
\ 'vendor/bin/psalm',
|
||||||
\ ])},
|
\ ])},
|
||||||
\ 'command': '%e',
|
\ 'command': '%e --language-server',
|
||||||
\ 'project_root': function('ale_linters#php#psalm#GetProjectRoot'),
|
\ 'project_root': function('ale_linters#php#psalm#GetProjectRoot'),
|
||||||
\})
|
\})
|
||||||
|
|
|
@ -9,18 +9,18 @@ After:
|
||||||
call ale#assert#TearDownLinterTest()
|
call ale#assert#TearDownLinterTest()
|
||||||
|
|
||||||
Execute(The default executable path should be correct):
|
Execute(The default executable path should be correct):
|
||||||
AssertLinter 'psalm-language-server',
|
AssertLinter 'psalm',
|
||||||
\ ale#Escape('psalm-language-server')
|
\ ale#Escape('psalm') . ' --language-server'
|
||||||
|
|
||||||
Execute(Vendor executables should be detected):
|
Execute(Vendor executables should be detected):
|
||||||
call ale#test#SetFilename('psalm-project/test.php')
|
call ale#test#SetFilename('psalm-project/test.php')
|
||||||
|
|
||||||
AssertLinter
|
AssertLinter
|
||||||
\ ale#path#Simplify(g:dir . '/psalm-project/vendor/bin/psalm-language-server'),
|
\ ale#path#Simplify(g:dir . '/psalm-project/vendor/bin/psalm'),
|
||||||
\ ale#Escape(ale#path#Simplify(
|
\ ale#Escape(ale#path#Simplify(
|
||||||
\ g:dir
|
\ g:dir
|
||||||
\ . '/psalm-project/vendor/bin/psalm-language-server'
|
\ . '/psalm-project/vendor/bin/psalm'
|
||||||
\ ))
|
\ )) . ' --language-server'
|
||||||
|
|
||||||
Execute(The project path should be correct for .git directories):
|
Execute(The project path should be correct for .git directories):
|
||||||
call ale#test#SetFilename('psalm-project/test.php')
|
call ale#test#SetFilename('psalm-project/test.php')
|
||||||
|
|
Reference in a new issue