diff options
| -rw-r--r-- | lsp/ts_ls.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lsp/ts_ls.lua b/lsp/ts_ls.lua index 40a1a6bb..0d6127cd 100644 --- a/lsp/ts_ls.lua +++ b/lsp/ts_ls.lua @@ -78,4 +78,19 @@ return { 'typescript.tsx', }, root_markers = { 'tsconfig.json', 'jsconfig.json', 'package.json', '.git' }, + handlers = { + -- handle rename request for certain code actions like extracting functions / types + ['_typescript.rename'] = function(_, result, ctx) + local client = vim.lsp.get_client_by_id(ctx.client_id) + vim.lsp.util.show_document({ + uri = result.textDocument.uri, + range = { + start = result.position, + ['end'] = result.position, + }, + }, client.offset_encoding) + vim.lsp.buf.rename() + return vim.NIL + end, + }, } |
