diff options
author | w0rp <devw0rp@gmail.com> | 2017-05-26 15:59:43 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-05-26 15:59:43 +0100 |
commit | c77cf0e518e18b2e6f1f259c0f92e717d28c8998 (patch) | |
tree | e9a4c43ba79d0b0333c9c0d0f3f0177645388353 /plugin/ale.vim | |
parent | 7fe1119cf1154480d8035a078ff06d6739892551 (diff) | |
download | ale-c77cf0e518e18b2e6f1f259c0f92e717d28c8998.zip |
#371 Allow buffer variables to be set based on patterns
Diffstat (limited to 'plugin/ale.vim')
-rw-r--r-- | plugin/ale.vim | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plugin/ale.vim b/plugin/ale.vim index 8c674a36..14e880d9 100644 --- a/plugin/ale.vim +++ b/plugin/ale.vim @@ -161,10 +161,23 @@ let g:ale_history_enabled = get(g:, 'ale_history_enabled', 1) " A flag for storing the full output of commands in the history. let g:ale_history_log_output = get(g:, 'ale_history_log_output', 0) +" A dictionary mapping regular expression patterns to arbitrary buffer +" variables to be set. Useful for configuration ALE based on filename +" patterns. +call ale#Set('pattern_options', {}) +call ale#Set('pattern_options_enabled', !empty(g:ale_pattern_options)) + function! ALEInitAuGroups() 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! + if g:ale_enabled && g:ale_pattern_options_enabled + autocmd BufEnter,BufRead * call ale#pattern_options#SetOptions() + endif + augroup END + augroup ALERunOnTextChangedGroup autocmd! if g:ale_enabled @@ -226,6 +239,7 @@ function! ALEInitAuGroups() abort augroup END if !g:ale_enabled + augroup! ALEPatternOptionsGroup augroup! ALERunOnTextChangedGroup augroup! ALERunOnEnterGroup augroup! ALERunOnSaveGroup @@ -238,6 +252,11 @@ function! s:ALEToggle() abort let g:ale_enabled = !get(g:, 'ale_enabled') if g:ale_enabled + " Set pattern options again, if enabled. + if g:ale_pattern_options_enabled + call ale#pattern_options#SetOptions() + endif + " Lint immediately, including running linters against the file. call ale#Queue(0, 'lint_file') else |