summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2020-08-29 16:31:47 +0100
committerw0rp <devw0rp@gmail.com>2020-08-29 16:31:47 +0100
commitf1ecc2e06828243bb0425036ce2dc3ca36cd114f (patch)
treeee727f83feef5610d806e8e146bd8c1689e6fb36
parent7e0cdb53ecf9c94bb8777a57de8bf2aacca46b5d (diff)
downloadale-f1ecc2e06828243bb0425036ce2dc3ca36cd114f.zip
Fix psalm options. Retry on some test failures
-rw-r--r--ale_linters/php/psalm.vim10
-rw-r--r--doc/ale-php.txt45
-rw-r--r--test/command_callback/test_psalm_command_callbacks.vader31
-rw-r--r--test/completion/test_completion_events.vader2
4 files changed, 60 insertions, 28 deletions
diff --git a/ale_linters/php/psalm.vim b/ale_linters/php/psalm.vim
index ab4dbbc9..286c8a96 100644
--- a/ale_linters/php/psalm.vim
+++ b/ale_linters/php/psalm.vim
@@ -1,9 +1,9 @@
" Author: Matt Brown <https://github.com/muglug>
" Description: plugin for Psalm, static analyzer for PHP
-call ale#Set('psalm_langserver_executable', 'psalm')
-call ale#Set('psalm_langserver_options', '')
-call ale#Set('psalm_langserver_use_global', get(g:, 'ale_use_global_executables', 0))
+call ale#Set('php_psalm_executable', 'psalm')
+call ale#Set('php_psalm_options', '')
+call ale#Set('php_psalm_use_global', get(g:, 'ale_use_global_executables', 0))
function! ale_linters#php#psalm#GetProjectRoot(buffer) abort
let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
@@ -12,13 +12,13 @@ function! ale_linters#php#psalm#GetProjectRoot(buffer) abort
endfunction
function! ale_linters#php#psalm#GetCommand(buffer) abort
- return '%e --language-server' . ale#Pad(ale#Var(a:buffer, 'psalm_langserver_options'))
+ return '%e --language-server' . ale#Pad(ale#Var(a:buffer, 'php_psalm_options'))
endfunction
call ale#linter#Define('php', {
\ 'name': 'psalm',
\ 'lsp': 'stdio',
-\ 'executable': {b -> ale#node#FindExecutable(b, 'psalm_langserver', [
+\ 'executable': {b -> ale#node#FindExecutable(b, 'php_psalm', [
\ 'vendor/bin/psalm',
\ ])},
\ 'command': function('ale_linters#php#psalm#GetCommand'),
diff --git a/doc/ale-php.txt b/doc/ale-php.txt
index 645decd7..9fe868f8 100644
--- a/doc/ale-php.txt
+++ b/doc/ale-php.txt
@@ -189,42 +189,55 @@ g:ale_php_psalm_executable *g:ale_php_psalm_executable*
This variable sets the executable used for psalm.
-g:ale_psalm_langserver_options *g:ale_psalm_langserver_options*
- *b:ale_psalm_langserver_options*
+
+g:ale_php_psalm_options *g:ale_php_psalm_options*
+ *b:ale_php_psalm_options*
Type: |String|
Default: `''`
This variable can be set to pass additional options to psalm.
+
+g:ale_php_psalm_use_global *g:ale_php_psalm_use_global*
+ *b:ale_php_psalm_use_global*
+ Type: |Boolean|
+ Default: `get(g:, 'ale_use_global_executables', 0)`
+
+ See |ale-integrations-local-executables|
+
+
===============================================================================
-php-cs-fixer *ale-php-php-cs-fixer*
+php-cs-fixer *ale-php-php-cs-fixer*
-g:ale_php_cs_fixer_executable *g:ale_php_cs_fixer_executable*
- *b:ale_php_cs_fixer_executable*
+g:ale_php_cs_fixer_executable *g:ale_php_cs_fixer_executable*
+ *b:ale_php_cs_fixer_executable*
Type: |String|
Default: `'php-cs-fixer'`
This variable sets executable used for php-cs-fixer.
-g:ale_php_cs_fixer_use_global *g:ale_php_cs_fixer_use_global*
- *b:ale_php_cs_fixer_use_global*
- Type: |Boolean|
- Default: `get(g:, 'ale_use_global_executables', 0)`
-
- This variable force globally installed fixer.
-g:ale_php_cs_fixer_options *g:ale_php_cs_fixer_options*
- *b:ale_php_cs_fixer_options*
+g:ale_php_cs_fixer_options *g:ale_php_cs_fixer_options*
+ *b:ale_php_cs_fixer_options*
Type: |String|
Default: `''`
This variable can be set to pass additional options to php-cs-fixer.
+
+g:ale_php_cs_fixer_use_global *g:ale_php_cs_fixer_use_global*
+ *b:ale_php_cs_fixer_use_global*
+ Type: |Boolean|
+ Default: `get(g:, 'ale_use_global_executables', 0)`
+
+ See |ale-integrations-local-executables|
+
+
===============================================================================
-php *ale-php-php*
+php *ale-php-php*
-g:ale_php_php_executable *g:ale_php_php_executable*
- *b:ale_php_php_executable*
+g:ale_php_php_executable *g:ale_php_php_executable*
+ *b:ale_php_php_executable*
Type: |String|
Default: `'php'`
diff --git a/test/command_callback/test_psalm_command_callbacks.vader b/test/command_callback/test_psalm_command_callbacks.vader
index 70b5af95..29698789 100644
--- a/test/command_callback/test_psalm_command_callbacks.vader
+++ b/test/command_callback/test_psalm_command_callbacks.vader
@@ -2,6 +2,9 @@ Before:
call ale#assert#SetUpLinterTest('php', 'psalm')
After:
+ unlet! g:i
+ unlet! g:matched
+
if isdirectory(g:dir . '/.git')
call delete(g:dir . '/.git', 'd')
endif
@@ -22,19 +25,35 @@ Execute(Vendor executables should be detected):
\ . '/psalm-project/vendor/bin/psalm'
\ )) . ' --language-server'
+ let g:ale_php_psalm_use_global = 1
+
+ AssertLinter 'psalm',
+ \ ale#Escape('psalm') . ' --language-server'
+
Execute(User provided options should be used):
- let g:ale_psalm_langserver_options = '--my-user-provided-option my-value'
+ let g:ale_php_psalm_options = '--my-user-provided-option my-value'
AssertLinter 'psalm',
\ ale#Escape('psalm')
\ . ' --language-server --my-user-provided-option my-value'
-
Execute(The project path should be correct for .git directories):
call ale#test#SetFilename('psalm-project/test.php')
- if !isdirectory(g:dir . '/.git')
- call mkdir(g:dir . '/.git')
- endif
+ for g:i in range(4)
+ if !isdirectory(g:dir . '/.git')
+ call mkdir(g:dir . '/.git')
+ endif
+
+ try
+ AssertLSPProject g:dir
+ catch /.+/
+ endtry
- AssertLSPProject g:dir
+ let g:matched = 1
+ break
+ endfor
+
+ if !g:matched
+ AssertLSPProject g:dir
+ endif
diff --git a/test/completion/test_completion_events.vader b/test/completion/test_completion_events.vader
index 3a7a31d0..87bd10ad 100644
--- a/test/completion/test_completion_events.vader
+++ b/test/completion/test_completion_events.vader
@@ -35,7 +35,7 @@ Before:
let g:ale_completion_delay = 0
" Run this check a few times, as it can fail randomly.
- for g:i in range(has('nvim-0.3') || has('win32') ? 5 : 1)
+ for l:i in range(has('nvim-0.3') || has('win32') ? 5 : 1)
call ale#completion#Queue()
sleep 1m