summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-07-09 00:10:28 +0100
committerw0rp <devw0rp@gmail.com>2017-07-09 00:10:28 +0100
commitab47011ef2cbe1774571a5031034328bbc4e6edd (patch)
tree8d15b514ea03b9be1fdd83826c6b2cd050c804db
parent1b55e5edab4dd37a2a4421a2f6b36d14a5c51051 (diff)
downloadale-ab47011ef2cbe1774571a5031034328bbc4e6edd.zip
Support setting settings with g:ale_pattern_options
-rw-r--r--autoload/ale/pattern_options.vim6
-rw-r--r--test/test_pattern_options.vader6
2 files changed, 10 insertions, 2 deletions
diff --git a/autoload/ale/pattern_options.vim b/autoload/ale/pattern_options.vim
index a42a39d9..03c9146a 100644
--- a/autoload/ale/pattern_options.vim
+++ b/autoload/ale/pattern_options.vim
@@ -13,6 +13,10 @@ function! ale#pattern_options#SetOptions() abort
endfor
for l:key in keys(l:options)
- let b:[l:key] = l:options[l:key]
+ if l:key[:0] ==# '&'
+ call setbufvar(bufnr(''), l:key, l:options[l:key])
+ else
+ let b:[l:key] = l:options[l:key]
+ endif
endfor
endfunction
diff --git a/test/test_pattern_options.vader b/test/test_pattern_options.vader
index ba074418..164e5aa7 100644
--- a/test/test_pattern_options.vader
+++ b/test/test_pattern_options.vader
@@ -1,5 +1,7 @@
Before:
- Save g:ale_pattern_options, g:ale_pattern_options_enabled
+ Save g:ale_pattern_options
+ Save g:ale_pattern_options_enabled
+ Save &filetype
After:
Restore
@@ -11,6 +13,7 @@ Execute(Buffer variables should be set when filename patterns match):
let g:ale_pattern_options = {'baz.*\.js': {
\ 'ale_enabled': 1,
\ 'some_option': 347,
+ \ '&filetype': 'pattern_option_set_filetype',
\}}
silent! file foobar.js
@@ -26,3 +29,4 @@ Execute(Buffer variables should be set when filename patterns match):
AssertEqual 1, b:ale_enabled
AssertEqual 347, b:some_option
+ AssertEqual 'pattern_option_set_filetype', &filetype