summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/ale/autocmd.vim77
-rw-r--r--autoload/ale/toggle.vim80
-rw-r--r--plugin/ale.vim2
-rw-r--r--test/test_autocmd_commands.vader4
4 files changed, 81 insertions, 82 deletions
diff --git a/autoload/ale/autocmd.vim b/autoload/ale/autocmd.vim
new file mode 100644
index 00000000..8570adaa
--- /dev/null
+++ b/autoload/ale/autocmd.vim
@@ -0,0 +1,77 @@
+function! ale#autocmd#InitAuGroups() abort
+ " This value used to be a Boolean as a Number, and is now a String.
+ let l:text_changed = '' . g:ale_lint_on_text_changed
+
+ augroup ALEPatternOptionsGroup
+ autocmd!
+ autocmd BufEnter,BufRead * call ale#pattern_options#SetOptions(str2nr(expand('<abuf>')))
+ augroup END
+
+ augroup ALERunOnTextChangedGroup
+ autocmd!
+ if g:ale_enabled
+ if l:text_changed is? 'always' || l:text_changed is# '1'
+ autocmd TextChanged,TextChangedI * call ale#Queue(g:ale_lint_delay)
+ elseif l:text_changed is? 'normal'
+ autocmd TextChanged * call ale#Queue(g:ale_lint_delay)
+ elseif l:text_changed is? 'insert'
+ autocmd TextChangedI * call ale#Queue(g:ale_lint_delay)
+ endif
+ endif
+ augroup END
+
+ augroup ALERunOnEnterGroup
+ autocmd!
+ if g:ale_enabled
+ " Handle everything that needs to happen when buffers are entered.
+ autocmd BufEnter * call ale#events#EnterEvent(str2nr(expand('<abuf>')))
+ endif
+ if g:ale_enabled && g:ale_lint_on_enter
+ autocmd BufWinEnter,BufRead * call ale#Queue(0, 'lint_file', str2nr(expand('<abuf>')))
+ " Track when the file is changed outside of Vim.
+ autocmd FileChangedShellPost * call ale#events#FileChangedEvent(str2nr(expand('<abuf>')))
+ endif
+ augroup END
+
+ augroup ALERunOnFiletypeChangeGroup
+ autocmd!
+ if g:ale_enabled && g:ale_lint_on_filetype_changed
+ " Only start linting if the FileType actually changes after
+ " opening a buffer. The FileType will fire when buffers are opened.
+ autocmd FileType * call ale#events#FileTypeEvent(
+ \ str2nr(expand('<abuf>')),
+ \ expand('<amatch>')
+ \)
+ endif
+ augroup END
+
+ augroup ALERunOnSaveGroup
+ autocmd!
+ autocmd BufWritePost * call ale#events#SaveEvent(str2nr(expand('<abuf>')))
+ augroup END
+
+ augroup ALERunOnInsertLeave
+ autocmd!
+ if g:ale_enabled && g:ale_lint_on_insert_leave
+ autocmd InsertLeave * call ale#Queue(0)
+ endif
+ augroup END
+
+ augroup ALECursorGroup
+ autocmd!
+ if g:ale_enabled && g:ale_echo_cursor
+ autocmd CursorMoved,CursorHold * call ale#cursor#EchoCursorWarningWithDelay()
+ " Look for a warning to echo as soon as we leave Insert mode.
+ " The script's position variable used when moving the cursor will
+ " not be changed here.
+ autocmd InsertLeave * call ale#cursor#EchoCursorWarning()
+ endif
+ augroup END
+
+ if !g:ale_enabled
+ augroup! ALERunOnTextChangedGroup
+ augroup! ALERunOnEnterGroup
+ augroup! ALERunOnInsertLeave
+ augroup! ALECursorGroup
+ endif
+endfunction
diff --git a/autoload/ale/toggle.vim b/autoload/ale/toggle.vim
index 2fa98b4a..1f691544 100644
--- a/autoload/ale/toggle.vim
+++ b/autoload/ale/toggle.vim
@@ -1,81 +1,3 @@
-function! ale#toggle#InitAuGroups() abort
- " This value used to be a Boolean as a Number, and is now a String.
- let l:text_changed = '' . g:ale_lint_on_text_changed
-
- augroup ALEPatternOptionsGroup
- autocmd!
- autocmd BufEnter,BufRead * call ale#pattern_options#SetOptions(str2nr(expand('<abuf>')))
- augroup END
-
- augroup ALERunOnTextChangedGroup
- autocmd!
- if g:ale_enabled
- if l:text_changed is? 'always' || l:text_changed is# '1'
- autocmd TextChanged,TextChangedI * call ale#Queue(g:ale_lint_delay)
- elseif l:text_changed is? 'normal'
- autocmd TextChanged * call ale#Queue(g:ale_lint_delay)
- elseif l:text_changed is? 'insert'
- autocmd TextChangedI * call ale#Queue(g:ale_lint_delay)
- endif
- endif
- augroup END
-
- augroup ALERunOnEnterGroup
- autocmd!
- if g:ale_enabled
- " Handle everything that needs to happen when buffers are entered.
- autocmd BufEnter * call ale#events#EnterEvent(str2nr(expand('<abuf>')))
- endif
- if g:ale_enabled && g:ale_lint_on_enter
- autocmd BufWinEnter,BufRead * call ale#Queue(0, 'lint_file', str2nr(expand('<abuf>')))
- " Track when the file is changed outside of Vim.
- autocmd FileChangedShellPost * call ale#events#FileChangedEvent(str2nr(expand('<abuf>')))
- endif
- augroup END
-
- augroup ALERunOnFiletypeChangeGroup
- autocmd!
- if g:ale_enabled && g:ale_lint_on_filetype_changed
- " Only start linting if the FileType actually changes after
- " opening a buffer. The FileType will fire when buffers are opened.
- autocmd FileType * call ale#events#FileTypeEvent(
- \ str2nr(expand('<abuf>')),
- \ expand('<amatch>')
- \)
- endif
- augroup END
-
- augroup ALERunOnSaveGroup
- autocmd!
- autocmd BufWritePost * call ale#events#SaveEvent(str2nr(expand('<abuf>')))
- augroup END
-
- augroup ALERunOnInsertLeave
- autocmd!
- if g:ale_enabled && g:ale_lint_on_insert_leave
- autocmd InsertLeave * call ale#Queue(0)
- endif
- augroup END
-
- augroup ALECursorGroup
- autocmd!
- if g:ale_enabled && g:ale_echo_cursor
- autocmd CursorMoved,CursorHold * call ale#cursor#EchoCursorWarningWithDelay()
- " Look for a warning to echo as soon as we leave Insert mode.
- " The script's position variable used when moving the cursor will
- " not be changed here.
- autocmd InsertLeave * call ale#cursor#EchoCursorWarning()
- endif
- augroup END
-
- if !g:ale_enabled
- augroup! ALERunOnTextChangedGroup
- augroup! ALERunOnEnterGroup
- augroup! ALERunOnInsertLeave
- augroup! ALECursorGroup
- endif
-endfunction
-
function! s:EnablePreamble() abort
" Set pattern options again, if enabled.
if g:ale_pattern_options_enabled
@@ -126,7 +48,7 @@ function! ale#toggle#Toggle() abort
endif
endif
- call ale#toggle#InitAuGroups()
+ call ale#autocmd#InitAuGroups()
endfunction
function! ale#toggle#Enable() abort
diff --git a/plugin/ale.vim b/plugin/ale.vim
index 2a97e563..d59ffd6b 100644
--- a/plugin/ale.vim
+++ b/plugin/ale.vim
@@ -301,7 +301,7 @@ nnoremap <silent> <Plug>(ale_find_references) :ALEFindReferences<Return>
nnoremap <silent> <Plug>(ale_hover) :ALEHover<Return>
" Set up autocmd groups now.
-call ale#toggle#InitAuGroups()
+call ale#autocmd#InitAuGroups()
" Housekeeping
diff --git a/test/test_autocmd_commands.vader b/test/test_autocmd_commands.vader
index c03e8fb7..b02f852c 100644
--- a/test/test_autocmd_commands.vader
+++ b/test/test_autocmd_commands.vader
@@ -1,6 +1,6 @@
Before:
function! CheckAutocmd(group)
- call ale#toggle#InitAuGroups()
+ call ale#autocmd#InitAuGroups()
redir => l:output
execute 'silent! autocmd ' . a:group
@@ -59,7 +59,7 @@ After:
call ale#completion#Disable()
endif
- call ale#toggle#InitAuGroups()
+ call ale#autocmd#InitAuGroups()
Execute (g:ale_lint_on_text_changed = 0 should bind no events):
let g:ale_lint_on_text_changed = 0