From 3a1af93e9c0f983da64070d3774596844c2a26e1 Mon Sep 17 00:00:00 2001 From: pommicket Date: Tue, 30 Sep 2025 10:42:13 -0400 Subject: Initial implementation of code actions --- main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index 425984b..6d419a9 100644 --- a/main.c +++ b/main.c @@ -588,6 +588,7 @@ int main(int argc, char **argv) { find_init(ted); macros_init(ted); definitions_init(ted); + code_action_init(ted); autocomplete_init(ted); format_init(ted); signature_help_init(ted); @@ -969,6 +970,7 @@ int main(int argc, char **argv) { LSP *lsp = ted->lsps[i]; LSPMessage message = {0}; while (lsp_next_message(lsp, &message)) { + bool message_moved = false; switch (message.type) { case LSP_REQUEST: { LSPRequest *r = &message.request; @@ -1006,10 +1008,15 @@ int main(int argc, char **argv) { highlights_process_lsp_response(ted, r); usages_process_lsp_response(ted, r); document_link_process_lsp_response(ted, r); + if (code_action_process_lsp_response(ted, r)) { + message_moved = true; + break; + } rename_symbol_process_lsp_response(ted, r); } break; } - lsp_message_free(&message); + if (!message_moved) + lsp_message_free(&message); } } @@ -1102,6 +1109,7 @@ int main(int argc, char **argv) { float y1 = padding; node_frame(ted, node, rect4(x1, y1, x2, y)); autocomplete_frame(ted); + code_action_frame(ted); signature_help_frame(ted); hover_frame(ted, frame_dt); definitions_frame(ted); -- cgit v1.2.3