Round 155: Add 20 Embark, Consult, Vertico, Corfu, Cape extended commands

ober

e229adad8eff2155eac243b2e46d569018575db1

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 67a6696..7b6da67 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 155 — Embark, Consult, Vertico, Corfu, Cape Extended
+
+| Feature | Status | Notes |
+|---|---|---|
+| `embark-dwim` | :orange_circle: | Do-what-I-mean action |
+| `embark-export` | :orange_circle: | Export candidates to buffer |
+| `embark-live` | :orange_circle: | Live updating collect |
+| `embark-become` | :orange_circle: | Become different command |
+| `embark-select` | :orange_circle: | Select candidate |
+| `embark-prefix-help-command` | :orange_circle: | Prefix key help |
+| `consult-grep` | :orange_circle: | Grep with consult |
+| `consult-git-grep` | :orange_circle: | Git-grep with consult |
+| `consult-register-store` | :orange_circle: | Store to register |
+| `consult-register-load` | :orange_circle: | Load from register |
+| `vertico-indexed-mode` | :orange_circle: | Indexed candidate mode |
+| `vertico-mouse-mode` | :orange_circle: | Mouse support |
+| `vertico-quick-jump` | :orange_circle: | Quick jump to candidate |
+| `vertico-quick-insert` | :orange_circle: | Quick insert candidate |
+| `corfu-echo-mode` | :orange_circle: | Echo area completion info |
+| `cape-file` | :orange_circle: | File name completion |
+| `cape-elisp-symbol` | :orange_circle: | Elisp symbol completion |
+| `cape-rfc1345` | :orange_circle: | RFC 1345 char completion |
+| `cape-emoji` | :orange_circle: | Emoji completion |
+| `cape-ispell` | :orange_circle: | Ispell completion |
+
 ### Round 154 — Dired-subtree, Dired-filter, Dired Extensions
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 0a42587..398690a 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -15974,3 +15974,56 @@
 (def (cmd-dired-sidebar-toggle-sidebar app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Dired-sidebar: toggled sidebar")))
+
+;; ============================================================
+;; Round 155 — Vertico, Corfu, Cape extended (batch 2)
+;; ============================================================
+
+(def (cmd-vertico-indexed-mode app)
+  (let* ((echo (app-state-echo app)))
+    (toggle-mode! app 'vertico-indexed)
+    (if (mode-enabled? app 'vertico-indexed)
+      (echo-message! echo "Vertico indexed mode enabled")
+      (echo-message! echo "Vertico indexed mode disabled"))))
+
+(def (cmd-vertico-mouse-mode app)
+  (let* ((echo (app-state-echo app)))
+    (toggle-mode! app 'vertico-mouse)
+    (if (mode-enabled? app 'vertico-mouse)
+      (echo-message! echo "Vertico mouse mode enabled")
+      (echo-message! echo "Vertico mouse mode disabled"))))
+
+(def (cmd-corfu-echo-mode app)
+  (let* ((echo (app-state-echo app)))
+    (toggle-mode! app 'corfu-echo)
+    (if (mode-enabled? app 'corfu-echo)
+      (echo-message! echo "Corfu echo mode enabled")
+      (echo-message! echo "Corfu echo mode disabled"))))
+
+(def (cmd-cape-file app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: file name completion at point")))
+
+(def (cmd-cape-elisp-symbol app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: Elisp symbol completion at point")))
+
+(def (cmd-cape-rfc1345 app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: RFC 1345 character completion")))
+
+(def (cmd-cape-emoji app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: emoji completion at point")))
+
+(def (cmd-cape-ispell app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: ispell completion at point")))
+
+(def (cmd-vertico-quick-jump app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vertico: quick jump to candidate")))
+
+(def (cmd-vertico-quick-insert app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vertico: quick insert candidate")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 04c7056..533a9f3 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -16602,3 +16602,55 @@
     (echo-read-string echo "Filter by mode: "
       (lambda (mode)
         (echo-message! echo (str "Dired-filter: filtering by mode " mode))))))
+
+;; ============================================================
+;; Round 155 — Embark, Consult, Vertico, Corfu, Cape (batch 1)
+;; ============================================================
+
+(def (cmd-embark-dwim app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: do-what-I-mean action on target")))
+
+(def (cmd-embark-export app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: exported candidates to buffer")))
+
+(def (cmd-embark-live app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: live updating collect buffer")))
+
+(def (cmd-embark-become app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: becoming a different command")))
+
+(def (cmd-embark-select app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: selected current candidate")))
+
+(def (cmd-embark-prefix-help-command app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Embark: showing prefix key help")))
+
+(def (cmd-consult-grep app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Consult grep: "
+      (lambda (q)
+        (echo-message! echo (str "Consult: grepping for '" q "'"))))))
+
+(def (cmd-consult-git-grep app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Consult git-grep: "
+      (lambda (q)
+        (echo-message! echo (str "Consult: git-grepping for '" q "'"))))))
+
+(def (cmd-consult-register-store app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Store to register: "
+      (lambda (reg)
+        (echo-message! echo (str "Consult: stored to register " reg))))))
+
+(def (cmd-consult-register-load app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Load from register: "
+      (lambda (reg)
+        (echo-message! echo (str "Consult: loaded register " reg))))))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index bf0601b..03a21ae 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -4688,4 +4688,25 @@
   (register-command! 'dired-rainbow-mode cmd-dired-rainbow-mode)
   (register-command! 'dired-recent-mode cmd-dired-recent-mode)
   (register-command! 'dired-sidebar-toggle-sidebar cmd-dired-sidebar-toggle-sidebar)
+  ;; Round 155
+  (register-command! 'embark-dwim cmd-embark-dwim)
+  (register-command! 'embark-export cmd-embark-export)
+  (register-command! 'embark-live cmd-embark-live)
+  (register-command! 'embark-become cmd-embark-become)
+  (register-command! 'embark-select cmd-embark-select)
+  (register-command! 'embark-prefix-help-command cmd-embark-prefix-help-command)
+  (register-command! 'consult-grep cmd-consult-grep)
+  (register-command! 'consult-git-grep cmd-consult-git-grep)
+  (register-command! 'consult-register-store cmd-consult-register-store)
+  (register-command! 'consult-register-load cmd-consult-register-load)
+  (register-command! 'vertico-indexed-mode cmd-vertico-indexed-mode)
+  (register-command! 'vertico-mouse-mode cmd-vertico-mouse-mode)
+  (register-command! 'corfu-echo-mode cmd-corfu-echo-mode)
+  (register-command! 'cape-file cmd-cape-file)
+  (register-command! 'cape-elisp-symbol cmd-cape-elisp-symbol)
+  (register-command! 'cape-rfc1345 cmd-cape-rfc1345)
+  (register-command! 'cape-emoji cmd-cape-emoji)
+  (register-command! 'cape-ispell cmd-cape-ispell)
+  (register-command! 'vertico-quick-jump cmd-vertico-quick-jump)
+  (register-command! 'vertico-quick-insert cmd-vertico-quick-insert)
 )