aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/ts_ls.lua
diff options
context:
space:
mode:
authorThomas Dy <thatsmydoing@gmail.com>2025-04-26 21:09:08 +0900
committerGitHub <noreply@github.com>2025-04-26 05:09:08 -0700
commit9b45d86fbb9fb9d01f68a9463e255313cf2a5c30 (patch)
treef1b2b90df186fa2f659cae019187fef7de376912 /lsp/ts_ls.lua
parentfix(roslyn_ls): use absolute paths when open `.sln` and `.csproj` files (#3777) (diff)
downloadnvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar.gz
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar.bz2
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar.lz
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar.xz
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.tar.zst
nvim-lspconfig-9b45d86fbb9fb9d01f68a9463e255313cf2a5c30.zip
feat(ts_ls): add _typescript.rename handler #3779
This handler is used when performing certain code actions such as extracting functions or types. The language server asks the editor to prompt for a rename for the newly created function or type.
Diffstat (limited to 'lsp/ts_ls.lua')
-rw-r--r--lsp/ts_ls.lua15
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,
+ },
}