Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added g:ale_php_phpstan_configuration option #969

Merged
merged 1 commit into from
Sep 30, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions ale_linters/php/phpstan.vim
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand All @@ -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

Expand Down
8 changes: 8 additions & 0 deletions doc/ale-php.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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:
9 changes: 9 additions & 0 deletions test/command_callback/test_phpstan_command_callbacks.vader
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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(''))