summaryrefslogtreecommitdiff
path: root/lsp-write.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2025-03-05 20:31:30 -0500
committerpommicket <pommicket@gmail.com>2025-03-05 20:48:59 -0500
commit8de9b9568caf088e9f75d880fae7105661d9e0dc (patch)
tree696b5447b6da7b5f3a816f3bed5f5cae2ad5bcd3 /lsp-write.c
parent4d7533828738401b76bab5be2e22f0d4a69e30b1 (diff)
add support for textDocument/prepareRename
Diffstat (limited to 'lsp-write.c')
-rw-r--r--lsp-write.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lsp-write.c b/lsp-write.c
index 9788347..506369e 100644
--- a/lsp-write.c
+++ b/lsp-write.c
@@ -297,6 +297,8 @@ static const char *lsp_request_method(LSPRequest *request) {
return "textDocument/documentLink";
case LSP_REQUEST_RENAME:
return "textDocument/rename";
+ case LSP_REQUEST_PREPARE_RENAME:
+ return "textDocument/prepareRename";
case LSP_REQUEST_WORKSPACE_FOLDERS:
return "workspace/workspaceFolders";
case LSP_REQUEST_DID_CHANGE_WORKSPACE_FOLDERS:
@@ -614,6 +616,12 @@ void write_request(LSP *lsp, LSPRequest *request, StrBuilder *builder) {
write_key_string(o, "newName", lsp_request_string(request, rename->new_name));
write_obj_end(o);
} break;
+ case LSP_REQUEST_PREPARE_RENAME: {
+ const LSPRequestPrepareRename *prep = &request->data.prepare_rename;
+ write_key_obj_start(o, "params");
+ write_document_position(o, prep->position);
+ write_obj_end(o);
+ } break;
case LSP_REQUEST_WORKSPACE_SYMBOLS: {
const LSPRequestWorkspaceSymbols *syms = &request->data.workspace_symbols;
write_key_obj_start(o, "params");