mirror of
https://github.com/dense-analysis/ale
synced 2024-12-24 23:22:29 +00:00
Improve file blacklisting to make Unite.vim not fuck up.
This commit is contained in:
parent
cb410927d1
commit
614a30a508
@ -5,6 +5,11 @@
|
||||
let s:lint_timer = -1
|
||||
|
||||
function! ale#Queue(delay) abort
|
||||
" Do nothing for blacklisted files.
|
||||
if index(g:ale_filetype_blacklist, &filetype) >= 0
|
||||
return
|
||||
endif
|
||||
|
||||
if s:lint_timer != -1
|
||||
call timer_stop(s:lint_timer)
|
||||
let s:lint_timer = -1
|
||||
@ -24,6 +29,11 @@ function! ale#Queue(delay) abort
|
||||
endfunction
|
||||
|
||||
function! ale#Lint(...) abort
|
||||
" Do nothing for blacklisted files.
|
||||
if index(g:ale_filetype_blacklist, &filetype) >= 0
|
||||
return
|
||||
endif
|
||||
|
||||
let l:buffer = bufnr('%')
|
||||
let l:linters = ale#linter#Get(&filetype)
|
||||
|
||||
|
@ -73,6 +73,11 @@ let s:cursor_timer = -1
|
||||
let s:last_pos = [0, 0, 0]
|
||||
|
||||
function! ale#cursor#EchoCursorWarningWithDelay() abort
|
||||
" Do nothing for blacklisted files.
|
||||
if index(g:ale_filetype_blacklist, &filetype) >= 0
|
||||
return
|
||||
endif
|
||||
|
||||
if s:cursor_timer != -1
|
||||
call timer_stop(s:cursor_timer)
|
||||
let s:cursor_timer = -1
|
||||
|
@ -33,15 +33,6 @@ let g:ale_buffer_info = {}
|
||||
" filetypes which can cause issues.
|
||||
let g:ale_filetype_blacklist = ['nerdtree', 'unite']
|
||||
|
||||
" This function lets you define autocmd commands which blacklist particular
|
||||
" filetypes.
|
||||
function! ALEAutoCMD(events, function_call)
|
||||
execute 'autocmd '
|
||||
\ . a:events
|
||||
\ ' * if index(g:ale_filetype_blacklist, &filetype) < 0 | call '
|
||||
\ . a:function_call
|
||||
endfunction
|
||||
|
||||
" This Dictionary configures which linters are enabled for which languages.
|
||||
let g:ale_linters = get(g:, 'ale_linters', {})
|
||||
|
||||
@ -59,7 +50,7 @@ let g:ale_lint_on_text_changed = get(g:, 'ale_lint_on_text_changed', 1)
|
||||
if g:ale_lint_on_text_changed
|
||||
augroup ALERunOnTextChangedGroup
|
||||
autocmd!
|
||||
call ALEAutoCMD('TextChanged,TextChangedI', 'ale#Queue(g:ale_lint_delay)')
|
||||
autocmd TextChanged,TextChangedI * call ale#Queue(g:ale_lint_delay)
|
||||
augroup END
|
||||
endif
|
||||
|
||||
@ -68,7 +59,7 @@ let g:ale_lint_on_enter = get(g:, 'ale_lint_on_enter', 1)
|
||||
if g:ale_lint_on_enter
|
||||
augroup ALERunOnEnterGroup
|
||||
autocmd!
|
||||
call ALEAutoCMD('BufEnter,BufRead', 'ale#Queue(300)')
|
||||
autocmd BufEnter,BufRead * call ale#Queue(300)
|
||||
augroup END
|
||||
endif
|
||||
|
||||
@ -77,7 +68,7 @@ let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 0)
|
||||
if g:ale_lint_on_save
|
||||
augroup ALERunOnSaveGroup
|
||||
autocmd!
|
||||
call ALEAutoCMD('BufWrite', 'ale#Queue(0)')
|
||||
autocmd BufWrite * call ale#Queue(0)
|
||||
augroup END
|
||||
endif
|
||||
|
||||
@ -114,7 +105,7 @@ let g:ale_echo_cursor = get(g:, 'ale_echo_cursor', 1)
|
||||
if g:ale_echo_cursor
|
||||
augroup ALECursorGroup
|
||||
autocmd!
|
||||
call ALEAutoCMD('CursorMoved,CursorHold', 'ale#cursor#EchoCursorWarningWithDelay()')
|
||||
autocmd CursorMoved,CursorHold * call ale#cursor#EchoCursorWarningWithDelay()
|
||||
augroup END
|
||||
endif
|
||||
|
||||
@ -148,7 +139,7 @@ nnoremap <silent> <Plug>(ale_next_wrap) :ALENextWrap<Return>
|
||||
augroup ALECleanupGroup
|
||||
autocmd!
|
||||
" Clean up buffers automatically when they are unloaded.
|
||||
call ALEAutoCMD('BufUnload', "ale#cleanup#Buffer(expand('<abuf>'))")
|
||||
autocmd BufUnload * call ale#cleanup#Buffer(expand('<abuf>'))
|
||||
augroup END
|
||||
|
||||
" Backwards Compatibility
|
||||
|
11
test/test_linting_blacklist.vader
Normal file
11
test/test_linting_blacklist.vader
Normal file
@ -0,0 +1,11 @@
|
||||
Given unite (A Unite.vim file):
|
||||
anything
|
||||
|
||||
After:
|
||||
let g:ale_buffer_info = {}
|
||||
|
||||
Execute(Running ALE on a blacklisted file shouldn't change anything):
|
||||
call ale#Lint()
|
||||
call ale#engine#WaitForJobs(2000)
|
||||
|
||||
AssertEqual {}, g:ale_buffer_info
|
Loading…
Reference in New Issue
Block a user