mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-06 12:44:23 +08:00
php-cs-fixer command line options are ordered. Options that appear after the main command are applied to the main command. Options that appear after the subcommands are applied to the subcommands. This change enables a user to specific fix options (like --config). This change also sets the plugin to find the the configuraiton file in the current project tree. This matches the default behavior of other linters like eslint.
67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
Before:
|
|
Save g:ale_php_cs_fixer_executable
|
|
Save g:ale_php_cs_fixer_options
|
|
Save g:ale_php_cs_fixer_fix_options
|
|
let g:ale_php_cs_fixer_executable = 'php-cs-fixer'
|
|
let g:ale_php_cs_fixer_options = ''
|
|
let g:ale_php_cs_fixer_fix_options = ''
|
|
|
|
call ale#test#SetDirectory('/testplugin/test/fixers')
|
|
|
|
After:
|
|
Restore
|
|
|
|
call ale#test#RestoreDirectory()
|
|
|
|
|
|
Execute(project with php-cs-fixer should use local by default):
|
|
call ale#test#SetFilename('../test-files/php/project-with-php-cs-fixer/test.php')
|
|
|
|
AssertEqual
|
|
\ ale#path#Simplify(g:dir . '/../test-files/php/project-with-php-cs-fixer/vendor/bin/php-cs-fixer'),
|
|
\ ale#fixers#php_cs_fixer#GetExecutable(bufnr(''))
|
|
|
|
Execute(use-global should override local detection):
|
|
let g:ale_php_cs_fixer_use_global = 1
|
|
call ale#test#SetFilename('../test-files/php/project-with-php-cs-fixer/test.php')
|
|
|
|
AssertEqual
|
|
\ 'php-cs-fixer',
|
|
\ ale#fixers#php_cs_fixer#GetExecutable(bufnr(''))
|
|
|
|
Execute(project without php-cs-fixer should use global):
|
|
call ale#test#SetFilename('../test-files/php/project-without-php-cs-fixer/test.php')
|
|
|
|
AssertEqual
|
|
\ 'php-cs-fixer',
|
|
\ ale#fixers#php_cs_fixer#GetExecutable(bufnr(''))
|
|
|
|
|
|
|
|
|
|
Execute(The php-cs-fixer callback should return the correct default values):
|
|
call ale#test#SetFilename('../test-files/php/project-without-php-cs-fixer/foo/test.php')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape('php-cs-fixer')
|
|
\ . ' ' . g:ale_php_cs_fixer_options
|
|
\ . ' fix ' . g:ale_php_cs_fixer_fix_options
|
|
\ . ' %t'
|
|
\ },
|
|
\ ale#fixers#php_cs_fixer#Fix(bufnr(''))
|
|
|
|
Execute(The php-cs-fixer callback should include custom php-cs-fixer options):
|
|
let g:ale_php_cs_fixer_options = '-nq'
|
|
let g:ale_php_cs_fixer_fix_options = '--config="$HOME/.php_cs"'
|
|
call ale#test#SetFilename('../test-files/php/project-without-php-cs-fixer/test.php')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'command': ale#Escape(g:ale_php_cs_fixer_executable)
|
|
\ . ' -nq fix --config="$HOME/.php_cs" %t',
|
|
\ 'read_temporary_file': 1,
|
|
\ },
|
|
\ ale#fixers#php_cs_fixer#Fix(bufnr(''))
|