summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/ale.txt11
-rw-r--r--plugin/ale.vim10
-rw-r--r--test/test_ale_toggle.vader1
3 files changed, 22 insertions, 0 deletions
diff --git a/doc/ale.txt b/doc/ale.txt
index 932b5204..8a9ec474 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -276,6 +276,17 @@ g:ale_lint_on_enter *g:ale_lint_on_enter*
behaviour.
+g:ale_lint_on_filetype_changed *g:ale_lint_on_filetype_changed*
+
+ Type: |Number|
+ Default: `1`
+
+ This option will cause ALE to run whenever the filetype is changed. A short
+ delay will be used before linting will be done, so the filetype can be
+ changed quickly several times in a row, but resulting in only one lint
+ cycle.
+
+
g:ale_lint_on_save *g:ale_lint_on_save*
Type: |Number|
diff --git a/plugin/ale.vim b/plugin/ale.vim
index 2e593893..aadecb66 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -78,6 +78,9 @@ let g:ale_lint_on_enter = get(g:, 'ale_lint_on_enter', 1)
" This flag can be set to 1 to enable linting when a buffer is written.
let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 1)
+" This flag can be set to 1 to enable linting when the filetype is changed.
+let g:ale_lint_on_filetype_changed = get(g:, 'ale_lint_on_filetype_changed', 1)
+
" This flag may be set to 0 to disable ale. After ale is loaded, :ALEToggle
" should be used instead.
let g:ale_enabled = get(g:, 'ale_enabled', 1)
@@ -161,6 +164,13 @@ function! s:ALEInitAuGroups() abort
endif
augroup END
+ augroup ALERunOnFiletypeChangeGroup
+ autocmd!
+ if g:ale_enabled && g:ale_lint_on_filetype_changed
+ autocmd FileType * call ale#Queue(300, 'lint_file')
+ endif
+ augroup END
+
augroup ALERunOnSaveGroup
autocmd!
if g:ale_enabled && g:ale_lint_on_save
diff --git a/test/test_ale_toggle.vader b/test/test_ale_toggle.vader
index e623a085..cbb31857 100644
--- a/test/test_ale_toggle.vader
+++ b/test/test_ale_toggle.vader
@@ -15,6 +15,7 @@ Before:
\ 'ALECursorGroup',
\ 'ALEHighlightBufferGroup',
\ 'ALERunOnEnterGroup',
+ \ 'ALERunOnFiletypeChangeGroup',
\ 'ALERunOnSaveGroup',
\ 'ALERunOnTextChangedGroup',
\]