summaryrefslogtreecommitdiff
path: root/ide-highlights.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2024-12-07 20:38:11 -0500
committerpommicket <pommicket@gmail.com>2024-12-07 20:38:11 -0500
commitbbe75ba8c590747e7df7664128afdf96aeb539e2 (patch)
tree40342f0fda4dbfcc02030a25dfe78d973170ab9a /ide-highlights.c
parentb74905fcb282603f8afc45cd3f08fa8c28c83d41 (diff)
Better handling of LSP errors
Diffstat (limited to 'ide-highlights.c')
-rw-r--r--ide-highlights.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ide-highlights.c b/ide-highlights.c
index b8c3a94..1dc3aff 100644
--- a/ide-highlights.c
+++ b/ide-highlights.c
@@ -54,6 +54,11 @@ void highlights_process_lsp_response(Ted *ted, const LSPResponse *response) {
return; // not a highlight request
if (response->request.id != hls->last_request.id)
return; // old request
+ hls->last_request.id = 0;
+ if (lsp_response_is_error(response)) {
+ highlights_close(ted);
+ return;
+ }
const LSPResponseHighlight *hl_response = &response->data.highlight;
arr_set_len(hls->highlights, arr_len(hl_response->highlights));
// type-safe memcpy