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:
Grégoire Paris 2019-07-25 23:00:49 +02:00
parent aae6d30b1e
commit e47c1965a6
No known key found for this signature in database
GPG key ID: 24D48B8012B116BF
3 changed files with 8 additions and 8 deletions

View file

@ -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'),
\}) \})

View file

@ -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')