diff options
author | pommicket <pommicket@gmail.com> | 2025-09-29 13:29:56 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2025-09-29 15:29:51 -0400 |
commit | 6c4baeebd88352399059a8df8d38ebe3511588ea (patch) | |
tree | 98db7bb4f36a47f8f9ac5a53dcb06e8cd19cf762 /ide-code-action.c | |
parent | ec03a105ce7a6e396cfd287cbfe902d65bac1474 (diff) |
Start code actions
Diffstat (limited to 'ide-code-action.c')
-rw-r--r-- | ide-code-action.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ide-code-action.c b/ide-code-action.c new file mode 100644 index 0000000..678c046 --- /dev/null +++ b/ide-code-action.c @@ -0,0 +1,18 @@ +#include "ted-internal.h" + +void code_action_start(Ted *ted) { + TextBuffer *buffer = ted_active_buffer(ted); + LSP *lsp = buffer_lsp(buffer); + LSPRange range = {0}; + if (buffer_has_selection(buffer)) + range = buffer_selection_as_lsp_range(buffer); + else + range.start = range.end = buffer_cursor_pos_as_lsp_position(buffer); + LSPRequest req = { + .type = LSP_REQUEST_CODE_ACTION, + }; + LSPRequestCodeAction *code_action_req = &req.data.code_action; + code_action_req->document = buffer_lsp_document_id(buffer); + code_action_req->range = range; + lsp_send_request(lsp, &req); +} |