summaryrefslogtreecommitdiff
path: root/lsp.h
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2025-09-30 12:20:54 -0400
committerpommicket <pommicket@gmail.com>2025-09-30 12:20:54 -0400
commit13143e9d1a78c8e0135336bbfcc922ef28c0196a (patch)
tree24edf3f18907c3fda07cc2afabfcd5d9d8d72056 /lsp.h
parent345c3b1cc5aef6546a2880b5717bc861ffe65def (diff)
Handle java.apply.workspaceEdit
Diffstat (limited to 'lsp.h')
-rw-r--r--lsp.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/lsp.h b/lsp.h
index 9ed1a47..a7fa9b0 100644
--- a/lsp.h
+++ b/lsp.h
@@ -575,8 +575,16 @@ typedef struct {
LSPTextEdit *edits;
} LSPResponseFormatting;
+typedef enum {
+ LSP_COMMAND_NONE,
+ LSP_COMMAND_WORKSPACE_EDIT,
+} LSPCommandKind;
+
typedef struct {
- int type;
+ LSPCommandKind kind;
+ union {
+ LSPWorkspaceEdit edit;
+ } data;
} LSPCommand;
typedef enum {
@@ -969,6 +977,7 @@ size_t json_escape_to(char *out, size_t out_sz, const char *in);
char *json_escape(const char *str);
LSPString lsp_response_add_json_string(LSPResponse *response, const JSON *json, JSONString string);
LSPString lsp_request_add_json_string(LSPRequest *request, const JSON *json, JSONString string);
+void lsp_workspace_edit_free(LSPWorkspaceEdit *edit);
/// free resources used by lsp-write.c
void lsp_write_quit(void);
// convert JSON value back into string