From 3992e9def8692710590deacbc20bd925e0f8d64a Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 16:20:24 -0300 Subject: Q records keys into a register and q types them again; . repeats the last insert Macro.zig keeps keys to be typed again. Q records into @ (or ") in helix's key notation until the next Q; q replays a register's keys count times through the modal handling, where Esc does not hop panes and Enter, Tab and Space neither look, execute nor open the leader. . replays the normal command that entered the last insert session once and what was typed in it count times (helix repeat_last_insert). a at the end of the text now adds the newline helix's append_mode does, which a terminal's text does not. helix-golf's invert_dictionary passes. Co-Authored-By: Claude Opus 5.5 --- test/hxcases/cases.jsonl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test/hxcases/cases.jsonl') diff --git a/test/hxcases/cases.jsonl b/test/hxcases/cases.jsonl index ba75c611..8d6b0e6e 100644 --- a/test/hxcases/cases.jsonl +++ b/test/hxcases/cases.jsonl @@ -470,6 +470,22 @@ {"name": "reg-count-after-quote", "pane": "file", "text": "ab\n", "keys": "\"ay\"a3p"} {"name": "reg-ctrl-r-named", "pane": "file", "text": "ab\n", "keys": "\"aylia"} {"name": "reg-ctrl-r-esc", "pane": "file", "text": "ab\n", "keys": "ix"} +{"name": "macro-record-replay", "pane": "file", "text": "a\nb\nc\n", "keys": "QA!jQq"} +{"name": "macro-count", "pane": "file", "text": "a\nb\nc\nd\n", "keys": "QA!jQ2q"} +{"name": "macro-named", "pane": "file", "text": "a\nb\nc\n", "keys": "\"aQA!jQ\"aq"} +{"name": "macro-register-text", "pane": "file", "text": "a\nb\n", "keys": "QA!jQ\"@P"} +{"name": "macro-with-prompt", "pane": "file", "text": "a,b\nc,d\n", "keys": "QxS,djQq"} +{"name": "macro-esc-in-normal", "pane": "file", "text": "ab\ncd\n", "keys": "QvljQq"} +{"name": "macro-empty", "pane": "file", "text": "ab\n", "keys": "QQq"} +{"name": "dot-insert", "pane": "file", "text": "ab\ncd\n", "keys": "iXj.."} +{"name": "dot-append-count", "pane": "file", "text": "ab\ncd\n", "keys": "aYZj3."} +{"name": "dot-change", "pane": "file", "text": "ab cd\nef gh\n", "keys": "wcXjb."} +{"name": "dot-open-below", "pane": "file", "text": "a\nb\n", "keys": "oXj."} +{"name": "dot-counted-command", "pane": "file", "text": "abcd\n", "keys": "2lixy."} +{"name": "dot-multi", "pane": "file", "text": "ab\nab\n", "keys": "CiX."} +{"name": "dot-nothing", "pane": "file", "text": "ab\n", "keys": ".x"} +{"name": "append-at-end-adds-newline", "pane": "file", "text": "ab\n", "keys": "jaX"} +{"name": "append-at-end-no-newline", "pane": "file", "text": "ab", "keys": "laX"} {"name": "msel-esc-keeps", "pane": "file", "text": "aa\nbb\n", "keys": "C"} {"name": "msel-select-mode", "pane": "file", "text": "abcd\nabcd\n", "keys": "Cvl"} {"name": "msel-open-count", "pane": "file", "text": "ab\n", "keys": "2O"} -- cgit v1.3