From 24543707362d6204914d7199e958fc4cd9bbf261 Mon Sep 17 00:00:00 2001 From: Krzosa Karol Date: Sun, 25 Jan 2026 09:22:17 +0100 Subject: [PATCH] New behavior only underline for caret on ctrl --- src/text_editor/draw.cpp | 25 ++++++++++++++----------- src/text_editor/text_editor.cpp | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/text_editor/draw.cpp b/src/text_editor/draw.cpp index 3b31194..238ae3c 100644 --- a/src/text_editor/draw.cpp +++ b/src/text_editor/draw.cpp @@ -200,21 +200,24 @@ void DrawWindow(Window *window, Event &event) { } // Underline word under mouse cursor - Caret caret = view->carets[0]; - Vec2I mouse = MouseVec2I(); - bool mouse_in_document = AreOverlapping(mouse, window->document_rect); - if (mouse_in_document) { - View *view = GetView(window->active_view); - Buffer *buffer = GetBuffer(view->active_buffer); - Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse); - if (p != -1) { - Range range = EncloseLoadWord(buffer, p); - if (InBounds(caret.range, p)) range = caret.range; - DrawUnderline(window, view, buffer, range, MouseUnderlineColor, 2); + if (0) { + Caret caret = view->carets[0]; + Vec2I mouse = MouseVec2I(); + bool mouse_in_document = AreOverlapping(mouse, window->document_rect); + if (mouse_in_document) { + View *view = GetView(window->active_view); + Buffer *buffer = GetBuffer(view->active_buffer); + Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse); + if (p != -1) { + Range range = EncloseLoadWord(buffer, p); + if (InBounds(caret.range, p)) range = caret.range; + DrawUnderline(window, view, buffer, range, MouseUnderlineColor, 2); + } } } if (event.ctrl) { + Caret caret = view->carets[0]; if (is_active) { if (GetSize(caret.range) == 0) { Range range = EncloseLoadWord(buffer, caret.range.min); diff --git a/src/text_editor/text_editor.cpp b/src/text_editor/text_editor.cpp index fe292df..0353ce4 100644 --- a/src/text_editor/text_editor.cpp +++ b/src/text_editor/text_editor.cpp @@ -369,7 +369,7 @@ void OnCommand(Event event) { caret.ifront = 1; } } else if (event.clicks >= 2 && InBounds({caret.range.min - 1, caret.range.max + 1}, p)) { - Range range = EncloseLoadWord(active.buffer, p); + Range range = EncloseWord(active.buffer, p); if (event.clicks >= 3) { range = EncloseFullLine(active.buffer, p); }