aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/default_callbacks.lua
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-20 20:51:44 -0800
committerAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-20 20:51:44 -0800
commit6fc409d5939500b038ba281ac1929fd053f35310 (patch)
treece8ba5b963ee09394d9a9df49b76f345764f089b /runtime/lua/vim/lsp/default_callbacks.lua
parentb984f613c1e8dadbe59bf0d7093a6ed12af61b37 (diff)
downloadrneovim-6fc409d5939500b038ba281ac1929fd053f35310.tar.gz
rneovim-6fc409d5939500b038ba281ac1929fd053f35310.tar.bz2
rneovim-6fc409d5939500b038ba281ac1929fd053f35310.zip
Add full text_edit implementation.
- Implements textDocument/formatting, textDocument/rangeFormatting, workspace/applyEdit. TODO: - still has edge cases around replacement probably. Only tested with inserts on the same position.
Diffstat (limited to 'runtime/lua/vim/lsp/default_callbacks.lua')
-rw-r--r--runtime/lua/vim/lsp/default_callbacks.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/default_callbacks.lua b/runtime/lua/vim/lsp/default_callbacks.lua
index 5e8552307b..d58280e0f2 100644
--- a/runtime/lua/vim/lsp/default_callbacks.lua
+++ b/runtime/lua/vim/lsp/default_callbacks.lua
@@ -10,6 +10,15 @@ local function err_message(...)
api.nvim_command("redraw")
end
+M['workspace/applyEdit'] = function(_, _, workspace_edit)
+ if not workspace_edit then return end
+ -- TODO(ashkan) Do something more with label?
+ if workspace_edit.label then
+ print("Workspace edit", workspace_edit.label)
+ end
+ util.apply_workspace_edit(workspace_edit.edit)
+end
+
M['textDocument/publishDiagnostics'] = function(_, _, result)
if not result then return end
local uri = result.uri