summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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