summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 19:21:22 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit2580dd5ea85d86262c94363dfea9f990eaf56196 (patch)
treef6ef730304b57653c1ecfe31fac99b7ac0b00cc7 /src/pardes.zig
parentb08322345b33abcee114c05c85fa4c46c10f4701 (diff)
downloadpardes-2580dd5ea85d86262c94363dfea9f990eaf56196.tar.gz
pardes-2580dd5ea85d86262c94363dfea9f990eaf56196.zip
Everything a B1 chord does while B1 is down is one undo step
B1-B2 then B1-B3 cut and pasted as two undo steps. acme marks the file once per B1 hold (text.c:881, textselect), so the pair is a copy. The chord now takes one undo point when it begins and its edits share it until B1 comes up. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 60d0f51b..20d46dc3 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -4118,6 +4118,8 @@ pub const Pardes = struct {
/// The last plain B1 click, for acme's double-click (text.c:881,
/// textselect: a second click at the same point within 500 ms).
last_click: ?struct { id: usize, on_tag: bool, row: i32, col: i32, ms: i64 } = null,
+ /// A B1 chord's edits share the undo point it took (mouse.zig).
+ chord_hold: bool = false,
look_hover_wait: ?look.LookHoverWait = null,
look_hover_preview: ?look.LookHoverPreview = null,
pdf_hover_preview: if (pdf_enabled) ?look.PdfWordPreview else void = if (pdf_enabled) null else {},