diff options
author | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-11-20 20:51:44 -0800 |
---|---|---|
committer | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-11-20 20:51:44 -0800 |
commit | 6fc409d5939500b038ba281ac1929fd053f35310 (patch) | |
tree | ce8ba5b963ee09394d9a9df49b76f345764f089b /runtime/lua/vim/lsp/default_callbacks.lua | |
parent | b984f613c1e8dadbe59bf0d7093a6ed12af61b37 (diff) | |
download | rneovim-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.lua | 9 |
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 |