summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/ale.vim10
-rw-r--r--autoload/ale/cursor.vim5
-rw-r--r--plugin/ale.vim19
-rw-r--r--test/test_linting_blacklist.vader11
4 files changed, 31 insertions, 14 deletions
diff --git a/autoload/ale.vim b/autoload/ale.vim
index 96588e59..a5251f64 100644
--- a/autoload/ale.vim
+++ b/autoload/ale.vim
@@ -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)
diff --git a/autoload/ale/cursor.vim b/autoload/ale/cursor.vim
index ebac5ab0..864f6f28 100644
--- a/autoload/ale/cursor.vim
+++ b/autoload/ale/cursor.vim
@@ -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
diff --git a/plugin/ale.vim b/plugin/ale.vim
index 20adae63..0ed1360f 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -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
diff --git a/test/test_linting_blacklist.vader b/test/test_linting_blacklist.vader
new file mode 100644
index 00000000..918209d5
--- /dev/null
+++ b/test/test_linting_blacklist.vader
@@ -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