summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/php/phpstan.vim7
-rw-r--r--doc/ale-php.txt8
-rw-r--r--test/command_callback/test_phpstan_command_callbacks.vader9
3 files changed, 24 insertions, 0 deletions
diff --git a/ale_linters/php/phpstan.vim b/ale_linters/php/phpstan.vim
index b99e4f58..24762086 100644
--- a/ale_linters/php/phpstan.vim
+++ b/ale_linters/php/phpstan.vim
@@ -4,6 +4,7 @@
" Set to change the ruleset
let g:ale_php_phpstan_executable = get(g:, 'ale_php_phpstan_executable', 'phpstan')
let g:ale_php_phpstan_level = get(g:, 'ale_php_phpstan_level', '4')
+let g:ale_php_phpstan_configuration = get(g:, 'ale_php_phpstan_configuration', '')
function! ale_linters#php#phpstan#GetExecutable(buffer) abort
return ale#Var(a:buffer, 'php_phpstan_executable')
@@ -12,10 +13,16 @@ endfunction
function! ale_linters#php#phpstan#GetCommand(buffer) abort
let l:executable = ale_linters#php#phpstan#GetExecutable(a:buffer)
+ let l:configuration = ale#Var(a:buffer, 'php_phpstan_configuration')
+ let l:configuration_option = !empty(l:configuration)
+ \ ? ' -c ' . l:configuration
+ \ : ''
+
return ale#Escape(l:executable)
\ . ' analyze -l'
\ . ale#Var(a:buffer, 'php_phpstan_level')
\ . ' --errorFormat raw'
+ \ . l:configuration_option
\ . ' %s'
endfunction
diff --git a/doc/ale-php.txt b/doc/ale-php.txt
index adaca08a..bae6d7d0 100644
--- a/doc/ale-php.txt
+++ b/doc/ale-php.txt
@@ -124,5 +124,13 @@ g:ale_php_phpstan_level *g:ale_php_phpstan_level*
strictest.
+g:ale_php_phpstan_configuration *g:ale_php_phpstan_configuration*
+ *b:ale_php_phpstan_configuration*
+ Type: |String|
+ Default: `''`
+
+ This variable sets path to phpstan configuration file.
+
+
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
diff --git a/test/command_callback/test_phpstan_command_callbacks.vader b/test/command_callback/test_phpstan_command_callbacks.vader
index 7366df8b..169c5bb7 100644
--- a/test/command_callback/test_phpstan_command_callbacks.vader
+++ b/test/command_callback/test_phpstan_command_callbacks.vader
@@ -1,9 +1,11 @@
Before:
Save g:ale_php_phpstan_executable
Save g:ale_php_phpstan_level
+ Save g:ale_php_phpstan_configuration
unlet! g:ale_php_phpstan_executable
unlet! g:ale_php_phpstan_level
+ unlet! g:ale_php_phpstan_configuration
runtime ale_linters/php/phpstan.vim
@@ -27,3 +29,10 @@ Execute(project with level set to 3):
AssertEqual
\ ale#Escape('phpstan') . ' analyze -l3 --errorFormat raw %s',
\ ale_linters#php#phpstan#GetCommand(bufnr(''))
+
+Execute(Custom phpstan configuration file):
+ let g:ale_php_phpstan_configuration = 'phpstan_config'
+
+ AssertEqual
+ \ ale#Escape('phpstan') . ' analyze -l4 --errorFormat raw -c phpstan_config %s',
+ \ ale_linters#php#phpstan#GetCommand(bufnr(''))