mirror of
https://github.com/dense-analysis/ale.git
synced 2025-12-23 04:21:26 +08:00
LSP configuration via didChangeConfiguration (#1852)
* adding LSP configuration via workspace/didChangeConfiguration
This commit is contained in:
@@ -175,6 +175,22 @@ Execute(ale#lsp#message#Hover() should return correct messages):
|
||||
\ ],
|
||||
\ ale#lsp#message#Hover(bufnr(''), 12, 34)
|
||||
|
||||
Execute(ale#lsp#message#DidChangeConfiguration() should return correct messages):
|
||||
let g:ale_lsp_configuration = {
|
||||
\ 'foo': 'bar'
|
||||
\ }
|
||||
AssertEqual
|
||||
\ [
|
||||
\ 0,
|
||||
\ 'workspace/didChangeConfiguration',
|
||||
\ {
|
||||
\ 'settings': {
|
||||
\ 'foo': 'bar',
|
||||
\ }
|
||||
\ }
|
||||
\ ],
|
||||
\ ale#lsp#message#DidChangeConfiguration(bufnr(''), g:ale_lsp_configuration)
|
||||
|
||||
Execute(ale#lsp#tsserver_message#Open() should return correct messages):
|
||||
AssertEqual
|
||||
\ [
|
||||
|
||||
@@ -490,7 +490,7 @@ Execute(PreProcess should complain about using initialization_options and initia
|
||||
AssertThrows call ale#linter#PreProcess('testft', g:linter)
|
||||
AssertEqual 'Only one of `initialization_options` or `initialization_options_callback` should be set', g:vader_exception
|
||||
|
||||
Execute (PreProcess should throw when initialization_options_callback is not a callback):
|
||||
Execute(PreProcess should throw when initialization_options_callback is not a callback):
|
||||
AssertThrows call ale#linter#PreProcess('testft', {
|
||||
\ 'name': 'foo',
|
||||
\ 'lsp': 'socket',
|
||||
@@ -500,3 +500,32 @@ Execute (PreProcess should throw when initialization_options_callback is not a c
|
||||
\ 'initialization_options_callback': {},
|
||||
\})
|
||||
AssertEqual '`initialization_options_callback` must be a callback if defined', g:vader_exception
|
||||
|
||||
Execute(PreProcess should accept LSP configuration options via lsp_config):
|
||||
let g:ale_lsp_configuration = {
|
||||
\ 'foo': 'bar'
|
||||
\}
|
||||
|
||||
let g:linter = {
|
||||
\ 'name': 'x',
|
||||
\ 'lsp': 'socket',
|
||||
\ 'address_callback': 'X',
|
||||
\ 'language_callback': 'x',
|
||||
\ 'project_root_callback': 'x',
|
||||
\ 'lsp_config': g:ale_lsp_configuration,
|
||||
\}
|
||||
|
||||
AssertEqual {'foo': 'bar'}, ale#linter#PreProcess('testft', g:linter).lsp_config
|
||||
|
||||
|
||||
Execute(PreProcess should throw when lsp_config is not a Dictionary):
|
||||
AssertThrows call ale#linter#PreProcess('testft', {
|
||||
\ 'name': 'foo',
|
||||
\ 'lsp': 'socket',
|
||||
\ 'address_callback': 'X',
|
||||
\ 'language': 'x',
|
||||
\ 'project_root_callback': 'x',
|
||||
\ 'lsp_config': 'x',
|
||||
\})
|
||||
AssertEqual '`lsp_config` must be a Dictionary', g:vader_exception
|
||||
|
||||
|
||||
Reference in New Issue
Block a user