diff options
| author | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-11-21 10:55:03 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-21 10:55:03 -0800 |
| commit | 05bf8ff7b7579e69d2178684770c49a30796e043 (patch) | |
| tree | 9fb44c71f83ec542516ef1b135589705b65ca0dc /lua | |
| parent | Remove -o pipefail for dash compatibility (diff) | |
| download | nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar.gz nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar.bz2 nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar.lz nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar.xz nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.tar.zst nvim-lspconfig-05bf8ff7b7579e69d2178684770c49a30796e043.zip | |
Add workspace/didChangeConfiguration support. (#30)
- Add client.workspace_did_change_configuration()
- Notify settings on init.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim_lsp/skeleton.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lua/nvim_lsp/skeleton.lua b/lua/nvim_lsp/skeleton.lua index a097d7cc..7407e39a 100644 --- a/lua/nvim_lsp/skeleton.lua +++ b/lua/nvim_lsp/skeleton.lua @@ -111,6 +111,21 @@ function skeleton.__newindex(t, template_name, template) pcall(config.on_new_config, new_config) end + new_config.on_init = util.add_hook_after(new_config.on_init, function(client, _result) + function client.workspace_did_change_configuration(settings) + if not settings then return end + if vim.tbl_isempty(settings) then + settings = {[vim.type_idx]=vim.types.dictionary} + end + return client.notify('workspace/didChangeConfiguration', { + settings = settings; + }) + end + if new_config.settings then + client.workspace_did_change_configuration(new_config.settings) + end + end) + -- Save the old _on_attach so that we can reference it via the BufEnter. new_config._on_attach = new_config.on_attach new_config.on_attach = vim.schedule_wrap(function(client, bufnr) |
