Skip to content

Commit

Permalink
#2533 - Run phpcs in the directory the file is in
Browse files Browse the repository at this point in the history
  • Loading branch information
w0rp committed May 29, 2019
1 parent ca0cdd2 commit 166435d
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 14 deletions.
10 changes: 5 additions & 5 deletions ale_linters/php/phpcs.vim
Original file line number Diff line number Diff line change
Expand Up @@ -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'
\ . ale#Pad(l:standard_option)
\ . ale#Pad(l:options)
return ale#path#BufferCdString(a:buffer)
\ . '%e -s --report=emacs --stdin-path=%s'
\ . ale#Pad(l:standard_option)
\ . ale#Pad(ale#Var(a:buffer, 'php_phpcs_options'))
endfunction

function! ale_linters#php#phpcs#Handle(buffer, lines) abort
Expand Down
29 changes: 20 additions & 9 deletions test/command_callback/test_phpcs_command_callback.vader
Original file line number Diff line number Diff line change
Expand Up @@ -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')

0 comments on commit 166435d

Please sign in to comment.