mirror of https://github.com/dense-analysis/ale
#427 Add a function for looking up ALE variables in buffer scope, and then global scope
This commit is contained in:
parent
7682fab294
commit
e80116cee0
|
@ -96,3 +96,14 @@ endfunction
|
||||||
function! ale#ResetLintFileMarkers() abort
|
function! ale#ResetLintFileMarkers() abort
|
||||||
let s:should_lint_file_for_buffer = {}
|
let s:should_lint_file_for_buffer = {}
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" Given a buffer number and a variable name, look for that variable in the
|
||||||
|
" buffer scope, then in global scope. If the name does not exist in the global
|
||||||
|
" scope, an exception will be thrown.
|
||||||
|
"
|
||||||
|
" Every variable name will be prefixed with 'ale_'.
|
||||||
|
function! ale#Var(buffer, variable_name) abort
|
||||||
|
let l:full_name = 'ale_' . a:variable_name
|
||||||
|
|
||||||
|
return getbufvar(a:buffer, l:full_name, g:[l:full_name])
|
||||||
|
endfunction
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
Before:
|
||||||
|
let g:ale_some_variable = 'abc'
|
||||||
|
|
||||||
|
After:
|
||||||
|
unlet! g:ale_some_variable
|
||||||
|
|
||||||
|
Execute(ale#Var should return global variables):
|
||||||
|
AssertEqual 'abc', ale#Var(bufnr(''), 'some_variable')
|
||||||
|
|
||||||
|
Execute(ale#Var should return buffer overrides):
|
||||||
|
let b:ale_some_variable = 'def'
|
||||||
|
|
||||||
|
AssertEqual 'def', ale#Var(bufnr(''), 'some_variable')
|
||||||
|
|
||||||
|
Execute(ale#Var should throw exceptions for undefined variables):
|
||||||
|
AssertThrows call ale#Var(bufnr(''), 'undefined_variable_name')
|
Loading…
Reference in New Issue