#2533 - Run phpcs in the directory the file is in

This commit is contained in:
w0rp 2019-05-29 23:17:04 +01:00
parent ca0cdd26fc
commit 166435dbf1
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 25 additions and 14 deletions

View File

@ -10,13 +10,13 @@ call ale#Set('php_phpcs_use_global', get(g:, 'ale_use_global_executables', 0))
function! ale_linters#php#phpcs#GetCommand(buffer) abort
let l:standard = ale#Var(a:buffer, 'php_phpcs_standard')
let l:standard_option = !empty(l:standard)
\ ? '--standard=' . l:standard
\ ? '--standard=' . ale#Escape(l:standard)
\ : ''
let l:options = ale#Var(a:buffer, 'php_phpcs_options')
return '%e -s --report=emacs --stdin-path=%s'
return ale#path#BufferCdString(a:buffer)
\ . '%e -s --report=emacs --stdin-path=%s'
\ . ale#Pad(l:standard_option)
\ . ale#Pad(l:options)
\ . ale#Pad(ale#Var(a:buffer, 'php_phpcs_options'))
endfunction
function! ale_linters#php#phpcs#Handle(buffer, lines) abort

View File

@ -11,25 +11,36 @@ Execute(The local phpcs executable should be used):
let g:executable = ale#path#Simplify(g:dir . '/../phpcs-test-files/project-with-phpcs/vendor/bin/phpcs')
AssertLinter g:executable,
\ ale#Escape(g:executable) . ' -s --report=emacs --stdin-path=%s'
AssertLinter g:executable, ale#path#BufferCdString(bufnr(''))
\ . ale#Escape(g:executable)
\ . ' -s --report=emacs --stdin-path=%s'
Execute(use_global should override local executable detection):
let g:ale_php_phpcs_use_global = 1
call ale#test#SetFilename('../phpcs-test-files/project-with-phpcs/foo/test.php')
AssertLinter 'phpcs',
\ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s'
AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('phpcs')
\ . ' -s --report=emacs --stdin-path=%s'
Execute(Projects without local executables should use the global one):
call ale#test#SetFilename('../phpcs-test-files/project-without-phpcs/foo/test.php')
AssertLinter 'phpcs',
\ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s'
AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('phpcs')
\ . ' -s --report=emacs --stdin-path=%s'
Execute(User provided options are used):
Execute(User provided options should be used):
let g:ale_php_phpcs_options = '--my-user-provided-option my-value'
AssertLinter 'phpcs',
\ ale#Escape('phpcs') . ' -s --report=emacs --stdin-path=%s --my-user-provided-option my-value'
AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('phpcs')
\ . ' -s --report=emacs --stdin-path=%s --my-user-provided-option my-value'
Execute(The _standard option should be used):
let g:ale_php_phpcs_standard = 'foobar'
AssertLinter 'phpcs', ale#path#BufferCdString(bufnr(''))
\ . ale#Escape('phpcs')
\ . ' -s --report=emacs --stdin-path=%s --standard=' . ale#Escape('foobar')