summaryrefslogtreecommitdiff
path: root/test/lsp
diff options
context:
space:
mode:
authorJon Parise <jon@indelible.org>2018-10-30 15:47:19 -0700
committerJon Parise <jon@indelible.org>2018-10-31 08:42:42 -0700
commit2ac9e2a29e3c570e8aac5d8f5404921e8d816006 (patch)
treec43079605550c7821419a68d519e9c2faeebe009 /test/lsp
parentb5a7593577e1ada3f81fdaa68862ad4e93dcb5a5 (diff)
downloadale-2ac9e2a29e3c570e8aac5d8f5404921e8d816006.zip
Only send LSP config updates when the dict changes
Each LSP connection now stores its configuration dictionary. It is initially empty (`{}`) and is updated each time the LSP connection is started. When a change is detected, the workspace/didChangeConfiguration message is sent to the LSP servers with the updated configuration.
Diffstat (limited to 'test/lsp')
-rw-r--r--test/lsp/test_other_initialize_message_handling.vader1
-rw-r--r--test/lsp/test_update_config.vader17
2 files changed, 18 insertions, 0 deletions
diff --git a/test/lsp/test_other_initialize_message_handling.vader b/test/lsp/test_other_initialize_message_handling.vader
index e29f3358..98509f82 100644
--- a/test/lsp/test_other_initialize_message_handling.vader
+++ b/test/lsp/test_other_initialize_message_handling.vader
@@ -7,6 +7,7 @@ Before:
\ 'initialized': 0,
\ 'init_request_id': 0,
\ 'init_options': {},
+ \ 'config': {},
\ 'callback_list': [],
\ 'message_queue': [],
\ 'capabilities_queue': [],
diff --git a/test/lsp/test_update_config.vader b/test/lsp/test_update_config.vader
new file mode 100644
index 00000000..07068bc8
--- /dev/null
+++ b/test/lsp/test_update_config.vader
@@ -0,0 +1,17 @@
+Before:
+ runtime autoload/ale/lsp.vim
+
+ let g:conn_id = ale#lsp#Register('executable', '/foo/bar', {})
+
+After:
+ Restore
+
+ unlet! g:conn_id
+
+ runtime autoload/ale/lsp.vim
+
+Execute(Only send updates when the configuration dictionary changes):
+ AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {})
+ AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1})
+ AssertEqual 0, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {'a': 1})
+ AssertEqual 1, ale#lsp#UpdateConfig(g:conn_id, bufnr(''), {})