Support setting settings with g:ale_pattern_options

This commit is contained in:
w0rp 2017-07-09 00:10:28 +01:00
parent 1b55e5edab
commit ab47011ef2
2 changed files with 10 additions and 2 deletions

View File

@ -13,6 +13,10 @@ function! ale#pattern_options#SetOptions() abort
endfor endfor
for l:key in keys(l:options) for l:key in keys(l:options)
if l:key[:0] ==# '&'
call setbufvar(bufnr(''), l:key, l:options[l:key])
else
let b:[l:key] = l:options[l:key] let b:[l:key] = l:options[l:key]
endif
endfor endfor
endfunction endfunction

View File

@ -1,5 +1,7 @@
Before: 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: After:
Restore Restore
@ -11,6 +13,7 @@ Execute(Buffer variables should be set when filename patterns match):
let g:ale_pattern_options = {'baz.*\.js': { let g:ale_pattern_options = {'baz.*\.js': {
\ 'ale_enabled': 1, \ 'ale_enabled': 1,
\ 'some_option': 347, \ 'some_option': 347,
\ '&filetype': 'pattern_option_set_filetype',
\}} \}}
silent! file foobar.js silent! file foobar.js
@ -26,3 +29,4 @@ Execute(Buffer variables should be set when filename patterns match):
AssertEqual 1, b:ale_enabled AssertEqual 1, b:ale_enabled
AssertEqual 347, b:some_option AssertEqual 347, b:some_option
AssertEqual 'pattern_option_set_filetype', &filetype