summaryrefslogtreecommitdiff
path: root/test/snapshots/tagpath.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-27 11:45:56 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commitd91c2cc53f816634a5471672bd33b842f06e849e (patch)
tree1193b6752db6a62d85d7ef6c06c38d95ae495d43 /test/snapshots/tagpath.snap
parent6877a61ef40ad0d8e762a28d0a3f5fa9bfefaff2 (diff)
downloadpardes-d91c2cc53f816634a5471672bd33b842f06e849e.tar.gz
pardes-d91c2cc53f816634a5471672bd33b842f06e849e.zip
tag columns are the WHOLE rendered tag: h/j/k/l walk taglines, the path selects but never edits
Diffstat (limited to 'test/snapshots/tagpath.snap')
-rw-r--r--test/snapshots/tagpath.snap69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/snapshots/tagpath.snap b/test/snapshots/tagpath.snap
new file mode 100644
index 00000000..61181dd5
--- /dev/null
+++ b/test/snapshots/tagpath.snap
@@ -0,0 +1,69 @@
+# THE PATH IN A TAG IS SELECTABLE, NOT EDITABLE.
+# tag_col/tag_anchor index the WHOLE rendered tag (prefix ++ tail) — one
+# coordinate space, no conversions: the renderer prints the cursor at tag_col
+# verbatim and a mouse column IS a tag column. So motions and sweeps reach the
+# mode indicator and the path, a selection over them yanks and executes like
+# any other text, and the ONLY thing fenced off is EDITING: every edit op
+# measures from the first editable column (tagPrefix().len) and does nothing to
+# the left of it.
+lines c.txt 4
+start 30 100 c.txt
+wait 8000 Kill Newcol
+wait 8000 c.txt
+stable 700 20000
+snap start
+# --- keyboard: select part of the PATH ---
+# `:` parks at the tail's start (the first EDITABLE column) — unchanged, that
+# is what makes `:w<Tab>` the same two keystrokes every time
+key :
+stable 400 5000
+snap colon
+# 0 goes to column 0 of the RENDERED tag: the "N" of NOR, a column the keyboard
+# could not name at all before
+key 0
+stable 400 5000
+snap col0
+# W: the long word it traverses, landing the cursor on the space after "NOR"
+key W
+stable 400 5000
+snap sel-nor
+# E: extend to the end of the next long word — the style capture shows ONE
+# highlighted run from that space through the last char of the path
+key E
+stable 400 5000
+snap sel-path
+snapstyle sel-path
+# y yanks the selection. Esc hands the body back; p pastes the register into
+# the file, which is the only way a snapshot can see what was yanked.
+key y
+key esc
+settle 700
+stable 400 5000
+key p
+stable 400 5000
+snap yanked-path
+# --- mouse: a sweep across the prefix/tail boundary ---
+# a left press on a tagline anchors a TAG sweep (not the body's block
+# selection), so the drag paints one run of the tag row. Press at col 12
+# (inside the path), release at col 46 (just past "Save" in the tail): the
+# highlight crosses the boundary — screen col 40, where the tail starts — in
+# one piece, which is the whole point of there being one coordinate space.
+press left 12 2
+drag left 30 2
+drag left 46 2
+release left 46 2
+stable 400 5000
+snap drag-cross
+snapstyle drag-cross
+# --- the path is inert to editing ---
+# a plain click INSIDE the path leaves the cursor there (no clamp into the
+# tail), in insert mode like any tag click — and then typing and backspace do
+# NOTHING: the tag row below is byte-identical to the one in `yanked-path`.
+press left 12 2
+release left 12 2
+stable 400 5000
+text ZZNOPE
+key bs
+key bs
+stable 400 5000
+snap path-inert