New behavior only underline for caret on ctrl

This commit is contained in:
Krzosa Karol
2026-01-25 09:22:17 +01:00
parent eec1e137b7
commit 2454370736
2 changed files with 15 additions and 12 deletions

View File

@@ -200,21 +200,24 @@ void DrawWindow(Window *window, Event &event) {
} }
// Underline word under mouse cursor // Underline word under mouse cursor
Caret caret = view->carets[0]; if (0) {
Vec2I mouse = MouseVec2I(); Caret caret = view->carets[0];
bool mouse_in_document = AreOverlapping(mouse, window->document_rect); Vec2I mouse = MouseVec2I();
if (mouse_in_document) { bool mouse_in_document = AreOverlapping(mouse, window->document_rect);
View *view = GetView(window->active_view); if (mouse_in_document) {
Buffer *buffer = GetBuffer(view->active_buffer); View *view = GetView(window->active_view);
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse); Buffer *buffer = GetBuffer(view->active_buffer);
if (p != -1) { Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
Range range = EncloseLoadWord(buffer, p); if (p != -1) {
if (InBounds(caret.range, p)) range = caret.range; Range range = EncloseLoadWord(buffer, p);
DrawUnderline(window, view, buffer, range, MouseUnderlineColor, 2); if (InBounds(caret.range, p)) range = caret.range;
DrawUnderline(window, view, buffer, range, MouseUnderlineColor, 2);
}
} }
} }
if (event.ctrl) { if (event.ctrl) {
Caret caret = view->carets[0];
if (is_active) { if (is_active) {
if (GetSize(caret.range) == 0) { if (GetSize(caret.range) == 0) {
Range range = EncloseLoadWord(buffer, caret.range.min); Range range = EncloseLoadWord(buffer, caret.range.min);

View File

@@ -369,7 +369,7 @@ void OnCommand(Event event) {
caret.ifront = 1; caret.ifront = 1;
} }
} else if (event.clicks >= 2 && InBounds({caret.range.min - 1, caret.range.max + 1}, p)) { } 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) { if (event.clicks >= 3) {
range = EncloseFullLine(active.buffer, p); range = EncloseFullLine(active.buffer, p);
} }