mirror of
https://github.com/dense-analysis/ale
synced 2025-01-14 02:52:17 +00:00
680ba68d81
The `ale_lsp_root` setting is now deprecated, and `ale_root` should be used instead. The setting will be used for both setting the root easily for LSP linters, and for running other linters over whole projects.
91 lines
2.7 KiB
Plaintext
91 lines
2.7 KiB
Plaintext
Before:
|
|
Save g:ale_lsp_root
|
|
Save g:ale_root
|
|
Save b:ale_lsp_root
|
|
Save b:ale_root
|
|
|
|
unlet! g:ale_lsp_root
|
|
let g:ale_root = {}
|
|
|
|
call ale#assert#SetUpLinterTest('c', 'clangd')
|
|
|
|
function! Hook1(buffer)
|
|
return 'abc123'
|
|
endfunction
|
|
|
|
After:
|
|
Restore
|
|
|
|
delfunction Hook1
|
|
|
|
call ale#assert#TearDownLinterTest()
|
|
|
|
Execute(The buffer-specific variable can be a string):
|
|
let b:ale_root = '/some/path'
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The buffer-specific variable can be a dictionary):
|
|
let b:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The buffer-specific variable can have funcrefs):
|
|
let b:ale_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject 'abc123'
|
|
|
|
Execute(The buffer-specific variable can be the old ale_lsp_root setting):
|
|
let b:ale_lsp_root = '/some/path'
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The global variable can be a dictionary):
|
|
let g:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The global variable can have funcrefs):
|
|
let g:ale_root = {'clangd': function('Hook1'), 'golangserver': '/path'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject 'abc123'
|
|
|
|
Execute(The buffer-specific variable overrides the global variable):
|
|
let b:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
|
|
let g:ale_root = {'clangd': '/not/this/path', 'golangserver': '/elsewhere'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The global variable is queried if the buffer-specific has no value):
|
|
let b:ale_root = {'golangserver': '/other/path'}
|
|
let g:ale_root = {'clangd': '/some/path', 'golangserver': '/elsewhere'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(The global variable can be the old ale_lsp_root setting):
|
|
let g:ale_root = {}
|
|
let g:ale_lsp_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(A non-empty ale_root setting should replace the old ale_lsp_root):
|
|
let g:ale_root = {'clangd': '/some/path', 'golangserver': '/other/path'}
|
|
let g:ale_lsp_root = {'clangd': '/xxx', 'golangserver': '/xxx'}
|
|
call ale#test#SetFilename('other-file.c')
|
|
|
|
AssertLSPProject '/some/path'
|
|
|
|
Execute(No path should be returned by default):
|
|
call ale#test#SetFilename(tempname() . '/other-file.c')
|
|
|
|
AssertLSPProject ''
|