Close #1504 - Add an option for removing --respect-pragma for flow

This commit is contained in:
w0rp 2018-04-15 12:25:15 +01:00
parent 60917c9005
commit fb720251bf
No known key found for this signature in database
GPG key ID: 0FC1ECAA8C81CD83
3 changed files with 27 additions and 2 deletions

View file

@ -5,6 +5,7 @@
call ale#Set('javascript_flow_executable', 'flow') call ale#Set('javascript_flow_executable', 'flow')
call ale#Set('javascript_flow_use_home_config', 0) call ale#Set('javascript_flow_use_home_config', 0)
call ale#Set('javascript_flow_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('javascript_flow_use_global', get(g:, 'ale_use_global_executables', 0))
call ale#Set('javascript_flow_use_respect_pragma', 1)
function! ale_linters#javascript#flow#GetExecutable(buffer) abort function! ale_linters#javascript#flow#GetExecutable(buffer) abort
let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig') let l:flow_config = ale#path#FindNearestFile(a:buffer, '.flowconfig')
@ -47,8 +48,8 @@ function! ale_linters#javascript#flow#GetCommand(buffer, version_lines) abort
" If we can parse the version number, then only use --respect-pragma " If we can parse the version number, then only use --respect-pragma
" if the version is >= 0.36.0, which added the argument. " if the version is >= 0.36.0, which added the argument.
let l:use_respect_pragma = empty(l:version) let l:use_respect_pragma = ale#Var(a:buffer, 'javascript_flow_use_respect_pragma')
\ || ale#semver#GTE(l:version, [0, 36]) \ && (empty(l:version) || ale#semver#GTE(l:version, [0, 36]))
return ale#Escape(l:executable) return ale#Escape(l:executable)
\ . ' check-contents' \ . ' check-contents'

View file

@ -103,6 +103,17 @@ g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global*
See |ale-integrations-local-executables| See |ale-integrations-local-executables|
g:ale_javascript_flow_use_respect_pragma
*g:ale_javascript_flow_use_respect_pragma*
*b:ale_javascript_flow_use_respect_pragma*
Type: |Number|
Default: `1`
By default, ALE will use the `--respect-pragma` option for `flow`, so only
files with the `@flow` pragma are checked by ALE. This option can be set to
`0` to disable that behaviour, so all files can be checked by `flow`.
=============================================================================== ===============================================================================
importjs *ale-javascript-importjs* importjs *ale-javascript-importjs*

View file

@ -1,8 +1,11 @@
Before: Before:
runtime ale_linters/javascript/flow.vim runtime ale_linters/javascript/flow.vim
call ale#test#SetDirectory('/testplugin/test') call ale#test#SetDirectory('/testplugin/test')
After: After:
unlet! b:ale_javascript_flow_use_respect_pragma
call ale#test#RestoreDirectory() call ale#test#RestoreDirectory()
call ale#linter#Reset() call ale#linter#Reset()
call ale#semver#ResetVersionCache() call ale#semver#ResetVersionCache()
@ -15,6 +18,16 @@ Execute(flow should return a command to run if a .flowconfig file exists):
\ . ' check-contents --respect-pragma --json --from ale %s', \ . ' check-contents --respect-pragma --json --from ale %s',
\ ale_linters#javascript#flow#GetCommand(bufnr('%'), []) \ ale_linters#javascript#flow#GetCommand(bufnr('%'), [])
Execute(flow should not use the respect pragma argument if the option is off):
call ale#test#SetFilename('flow/a/sub/dummy')
let b:ale_javascript_flow_use_respect_pragma = 0
AssertEqual
\ ale#Escape('flow')
\ . ' check-contents --json --from ale %s',
\ ale_linters#javascript#flow#GetCommand(bufnr('%'), [])
Execute(flow should should not use --respect-pragma for old versions): Execute(flow should should not use --respect-pragma for old versions):
call ale#test#SetFilename('flow/a/sub/dummy') call ale#test#SetFilename('flow/a/sub/dummy')