mirror of
https://github.com/dense-analysis/ale.git
synced 2026-01-09 21:12:31 +08:00
Add options to facilitate linting only in normal mode (#425)
* [#420] Add options to facilitate linting only in normal mode ale_lint_on_text_changed: Allow setting to 'insert' or 'normal' to lint when text is changed only in insert or normal mode respectively. ale_lint_on_insert_leave: This flag can be set to 1 to enable linting when leaving insert mode. * [#420] Test updated global options Ale should - bind to TextChanged events when g:ale_lint_on_text_changed = 1 - bind to TextChanged events when g:ale_lint_on_text_changed = 'always' - bind to InsertLeave event when g:ale_lint_on_insert_leave = 1
This commit is contained in:
@@ -19,7 +19,7 @@ Before:
|
||||
\ 'let g:ale_lint_delay = 200',
|
||||
\ 'let g:ale_lint_on_enter = 1',
|
||||
\ 'let g:ale_lint_on_save = 1',
|
||||
\ 'let g:ale_lint_on_text_changed = 1',
|
||||
\ 'let g:ale_lint_on_text_changed = ''always''',
|
||||
\ 'let g:ale_linter_aliases = {}',
|
||||
\ 'let g:ale_linters = {}',
|
||||
\ 'let g:ale_open_list = 0',
|
||||
|
||||
66
test/test_ale_init_au_groups.vader
Normal file
66
test/test_ale_init_au_groups.vader
Normal file
@@ -0,0 +1,66 @@
|
||||
Before:
|
||||
Save g:ale_lint_on_text_changed
|
||||
Save g:ale_lint_on_insert_leave
|
||||
autocmd!
|
||||
|
||||
After:
|
||||
Restore g:ale_lint_on_text_changed
|
||||
Restore g:ale_lint_on_insert_leave
|
||||
unlet! g:output
|
||||
unlet! g:expected_autocmd
|
||||
autocmd!
|
||||
|
||||
Execute (ALE should bind to TextChanged events when g:ale_lint_on_text_changed = 1):
|
||||
let g:expected_autocmd = join([
|
||||
\ '',
|
||||
\ '--- Auto-Commands ---',
|
||||
\ 'ALERunOnTextChangedGroup TextChanged',
|
||||
\ ' * call ale#Queue(g:ale_lint_delay)',
|
||||
\ 'ALERunOnTextChangedGroup TextChangedI',
|
||||
\ ' * call ale#Queue(g:ale_lint_delay)',
|
||||
\], "\n")
|
||||
|
||||
let g:ale_lint_on_text_changed = 1
|
||||
call ALEInitAuGroups()
|
||||
|
||||
redir => g:output
|
||||
autocmd ALERunOnTextChangedGroup TextChanged,TextChangedI *
|
||||
redir END
|
||||
|
||||
AssertEqual g:expected_autocmd, g:output
|
||||
|
||||
Execute (ALE should bind to TextChanged events when g:ale_lint_on_text_changed = 'always'):
|
||||
let g:expected_autocmd = join([
|
||||
\ '',
|
||||
\ '--- Auto-Commands ---',
|
||||
\ 'ALERunOnTextChangedGroup TextChanged',
|
||||
\ ' * call ale#Queue(g:ale_lint_delay)',
|
||||
\ 'ALERunOnTextChangedGroup TextChangedI',
|
||||
\ ' * call ale#Queue(g:ale_lint_delay)',
|
||||
\], "\n")
|
||||
|
||||
let g:ale_lint_on_text_changed = 'always'
|
||||
call ALEInitAuGroups()
|
||||
|
||||
redir => g:output
|
||||
autocmd ALERunOnTextChangedGroup TextChanged,TextChangedI *
|
||||
redir END
|
||||
|
||||
AssertEqual g:expected_autocmd, g:output
|
||||
|
||||
Execute (ALE should bind to InsertLeave event when g:ale_lint_on_insert_leave = 1):
|
||||
let g:expected_autocmd = join([
|
||||
\ "",
|
||||
\ "--- Auto-Commands ---",
|
||||
\ "ALERunOnInsertLeave InsertLeave",
|
||||
\ " * call ale#Queue(0, 'lint_file')",
|
||||
\], "\n")
|
||||
|
||||
let g:ale_lint_on_insert_leave = 1
|
||||
call ALEInitAuGroups()
|
||||
|
||||
redir => g:output
|
||||
autocmd ALERunOnInsertLeave InsertLeave *
|
||||
redir END
|
||||
|
||||
AssertEqual g:expected_autocmd, g:output
|
||||
Reference in New Issue
Block a user