From ec03a105ce7a6e396cfd287cbfe902d65bac1474 Mon Sep 17 00:00:00 2001 From: pommicket Date: Mon, 29 Sep 2025 15:29:26 -0400 Subject: Fix spammy document link requests, underline link when hovered --- ide-document-link.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ide-document-link.c b/ide-document-link.c index 754cecd..7448c83 100644 --- a/ide-document-link.c +++ b/ide-document-link.c @@ -81,7 +81,6 @@ void document_link_frame(Ted *ted) { document_link_clear(ted); return; } - TextBuffer *buffer = ted->active_buffer; if (!buffer) return; @@ -89,20 +88,24 @@ void document_link_frame(Ted *ted) { LSP *lsp = buffer_lsp(buffer); if (!lsp) return; - - if (!dl->last_request.id) { + LSPDocumentID document = buffer_lsp_document_id(buffer); + if (document != dl->requested_document // don't spam requests + && !dl->last_request.id) { // send the request LSPRequest request = {.type = LSP_REQUEST_DOCUMENT_LINK}; LSPRequestDocumentLink *lnk = &request.data.document_link; - lnk->document = buffer_lsp_document_id(buffer); + lnk->document = document; dl->last_request = lsp_send_request(lsp, &request); dl->requested_document = lnk->document; } - + arr_foreach_ptr(dl->links, DocumentLink, l) { Rect r = document_link_get_rect(ted, l); if (ted_mouse_in_rect(ted, r)) { ted->cursor = ted->cursor_hand; + r.pos.y += r.size.y - 1; + r.size.y = 1; + gl_geometry_rect(r, settings_color(settings, COLOR_TEXT)); } } } -- cgit v1.2.3