#333 Change arguments for ale#Queue so they are more obvious, and check files in more places
This commit is contained in:
parent
2d1d6fb850
commit
3e13e10e03
3 changed files with 18 additions and 15 deletions
|
@ -14,16 +14,17 @@ function! ale#ShouldDoNothing() abort
|
|||
\ || ale#util#InSandbox()
|
||||
endfunction
|
||||
|
||||
" (delay, [run_file_linters])
|
||||
" (delay, [linting_flag])
|
||||
function! ale#Queue(delay, ...) abort
|
||||
if len(a:0) > 1
|
||||
throw 'too many arguments!'
|
||||
endif
|
||||
|
||||
let l:a1 = len(a:0) > 1 ? a:1 : 0
|
||||
" Default run_file_linters to 0
|
||||
let l:linting_flag = len(a:0) > 1 ? a:1 : ''
|
||||
|
||||
if type(l:a1) != type(1) || (l:a1 != 0 && l:a1 != 1)
|
||||
throw 'The lint_file argument must be a Number which is either 0 or 1!'
|
||||
if l:linting_flag !=# '' && l:linting_flag !=# 'lint_file'
|
||||
throw "linting_flag must be either '' or 'lint_file'"
|
||||
endif
|
||||
|
||||
if ale#ShouldDoNothing()
|
||||
|
@ -31,7 +32,7 @@ function! ale#Queue(delay, ...) abort
|
|||
endif
|
||||
|
||||
" Remember the event used for linting.
|
||||
let s:should_lint_file = l:a1
|
||||
let s:should_lint_file = l:linting_flag ==# 'lint_file'
|
||||
|
||||
if s:lint_timer != -1
|
||||
call timer_stop(s:lint_timer)
|
||||
|
|
12
doc/ale.txt
12
doc/ale.txt
|
@ -1168,6 +1168,9 @@ ALELint *ALELint*
|
|||
Run ALE once for the current buffer. This command can be used to run ALE
|
||||
manually, instead of automatically, if desired.
|
||||
|
||||
This command will also run linters where `lint_file` is set to `1`, or in
|
||||
other words linters which check the file instead of the Vim buffer.
|
||||
|
||||
A plug mapping `<Plug>(ale_lint)` is defined for this command.
|
||||
|
||||
|
||||
|
@ -1219,17 +1222,16 @@ ALEDetail *ALEDetail*
|
|||
===============================================================================
|
||||
7. API *ale-api*
|
||||
|
||||
ale#Queue(delay, [run_file_linters]) *ale#Queue()*
|
||||
ale#Queue(delay, [linting_flag]) *ale#Queue()*
|
||||
|
||||
Run linters for the current buffer, based on the filetype of the buffer,
|
||||
with a given `delay`. A `delay` of `0` will run the linters immediately.
|
||||
The linters will always be run in the background. Calling this function
|
||||
again from the same buffer
|
||||
|
||||
An optional `run_file_linters` argument can be given. If `run_file_linters`
|
||||
is `0`, then no linters where the `lint_file` option is set to `1` will be
|
||||
run. If `run_file_linters` is set to `1`, then all linters for the current
|
||||
file will be run. `run_file_linters` defaults to `0`.
|
||||
An optional `linting_flag` argument can be given. If `linting_flag`
|
||||
is `'lint_file'`, then linters where the `lint_file` option is set to `1` will be
|
||||
run. Linters with `lint_file` set to `1` are not run by default.
|
||||
|
||||
|
||||
ale#engine#EscapeCommandPart(command_part) *ale#engine#EscapeCommandPart()*
|
||||
|
|
|
@ -157,14 +157,14 @@ function! s:ALEInitAuGroups() abort
|
|||
augroup ALERunOnEnterGroup
|
||||
autocmd!
|
||||
if g:ale_enabled && g:ale_lint_on_enter
|
||||
autocmd BufEnter,BufRead * call ale#Queue(300, 1)
|
||||
autocmd BufEnter,BufRead * call ale#Queue(300, 'lint_file')
|
||||
endif
|
||||
augroup END
|
||||
|
||||
augroup ALERunOnSaveGroup
|
||||
autocmd!
|
||||
if g:ale_enabled && g:ale_lint_on_save
|
||||
autocmd BufWrite * call ale#Queue(0, 1)
|
||||
autocmd BufWrite * call ale#Queue(0, 'lint_file')
|
||||
endif
|
||||
augroup END
|
||||
|
||||
|
@ -191,8 +191,8 @@ function! s:ALEToggle() abort
|
|||
let g:ale_enabled = !get(g:, 'ale_enabled')
|
||||
|
||||
if g:ale_enabled
|
||||
" Lint immediately
|
||||
call ale#Queue(0)
|
||||
" Lint immediately, including running linters against the file.
|
||||
call ale#Queue(0, 'lint_file')
|
||||
else
|
||||
" Make sure the buffer number is a number, not a string,
|
||||
" otherwise things can go wrong.
|
||||
|
@ -226,7 +226,7 @@ command! ALEDetail :call ale#cursor#ShowCursorDetail()
|
|||
" A command for turning ALE on or off.
|
||||
command! ALEToggle :call s:ALEToggle()
|
||||
" A command for linting manually.
|
||||
command! ALELint :call ale#Queue(0)
|
||||
command! ALELint :call ale#Queue(0, 'lint_file')
|
||||
|
||||
" Define a command to get information about current filetype.
|
||||
command! ALEInfo :call ale#debugging#Info()
|
||||
|
|
Reference in a new issue