Round 128: Add 20 Counsel/Swiper, Windmove, Buffer-move, Eyebrowse commands

ober

16c234620bd5b60954e29340fc6a0a59bf36c24e

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index fbf09bb..5166c06 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4180,6 +4180,33 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 
 ---
 
+### Round 128 — Counsel/Swiper, Windmove, Buffer-move, Eyebrowse
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| counsel-set-variable | :orange_circle: | Set variable via Counsel |
+| counsel-yank-pop | :orange_circle: | Browse kill ring via Counsel |
+| swiper-isearch-thing-at-point | :orange_circle: | Swiper isearch thing at point |
+| swiper-thing-at-point | :orange_circle: | Swiper search thing at point |
+| eval-minibuffer | :orange_circle: | Evaluate expression in minibuffer |
+| custom-theme-visit-theme | :orange_circle: | Visit custom theme |
+| package-menu-mark-upgrades | :orange_circle: | Mark package upgrades |
+| windmove-delete-left | :orange_circle: | Delete window to the left |
+| windmove-delete-right | :orange_circle: | Delete window to the right |
+| windmove-delete-up | :orange_circle: | Delete window above |
+| windmove-delete-down | :orange_circle: | Delete window below |
+| buf-move-left | :orange_circle: | Move buffer left |
+| buf-move-right | :orange_circle: | Move buffer right |
+| buf-move-up | :orange_circle: | Move buffer up |
+| buf-move-down | :orange_circle: | Move buffer down |
+| flop-frame | :orange_circle: | Flop frame vertically |
+| rotate-frame-clockwise | :orange_circle: | Rotate frame clockwise |
+| rotate-frame-anticlockwise | :orange_circle: | Rotate frame anticlockwise |
+| eyebrowse-switch-to-window-config-1 | :orange_circle: | Switch to eyebrowse config 1 |
+| eyebrowse-switch-to-window-config-2 | :orange_circle: | Switch to eyebrowse config 2 |
+
+---
+
 ## Recommended Development Roadmap
 
 > *Reprioritized based on the user's actual Emacs workflow*
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index f9fa126..2d7ddfb 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -14668,3 +14668,45 @@
     (echo-read-string echo "Package: "
       (lambda (pkg)
         (echo-message! echo (str "Counsel: package '" pkg "'"))))))
+
+;;; Round 128 — Counsel/Swiper, Windmove, Buffer-move, Eyebrowse (batch 2)
+
+(def (cmd-windmove-delete-down app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Windmove: deleted window below")))
+
+(def (cmd-buf-move-left app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Buffer-move: moved buffer left")))
+
+(def (cmd-buf-move-right app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Buffer-move: moved buffer right")))
+
+(def (cmd-buf-move-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Buffer-move: moved buffer up")))
+
+(def (cmd-buf-move-down app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Buffer-move: moved buffer down")))
+
+(def (cmd-flop-frame app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Frame: flopped vertically")))
+
+(def (cmd-rotate-frame-clockwise app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Frame: rotated clockwise")))
+
+(def (cmd-rotate-frame-anticlockwise app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Frame: rotated anticlockwise")))
+
+(def (cmd-eyebrowse-switch-to-window-config-1 app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Eyebrowse: switched to window config 1")))
+
+(def (cmd-eyebrowse-switch-to-window-config-2 app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Eyebrowse: switched to window config 2")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index d0d7f2e..d19a915 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -15271,3 +15271,53 @@
 (def (cmd-counsel-evil-registers app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Counsel: browsing evil registers")))
+
+;;; Round 128 — Counsel/Swiper, Windmove, Buffer-move, Eyebrowse (batch 1)
+
+(def (cmd-counsel-set-variable app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Set variable: "
+      (lambda (var)
+        (echo-read-string echo (str var " = ")
+          (lambda (val)
+            (echo-message! echo (str "Set " var " = " val))))))))
+
+(def (cmd-counsel-yank-pop app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Counsel: browsing kill ring")))
+
+(def (cmd-swiper-isearch-thing-at-point app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Swiper: isearch thing at point")))
+
+(def (cmd-swiper-thing-at-point app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Swiper: search thing at point")))
+
+(def (cmd-eval-minibuffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Eval: "
+      (lambda (expr)
+        (echo-message! echo (str "Evaluated: " expr))))))
+
+(def (cmd-custom-theme-visit-theme app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Visit theme: "
+      (lambda (theme)
+        (echo-message! echo (str "Visiting theme: " theme))))))
+
+(def (cmd-package-menu-mark-upgrades app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Package: marked all upgrades")))
+
+(def (cmd-windmove-delete-left app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Windmove: deleted window to the left")))
+
+(def (cmd-windmove-delete-right app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Windmove: deleted window to the right")))
+
+(def (cmd-windmove-delete-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Windmove: deleted window above")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 20b2c91..343dd43 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -4121,4 +4121,25 @@
   (register-command! 'counsel-org-file cmd-counsel-org-file)
   (register-command! 'counsel-outline cmd-counsel-outline)
   (register-command! 'counsel-package cmd-counsel-package)
+  ;; Round 128 — Counsel/Swiper, Windmove, Buffer-move, Eyebrowse
+  (register-command! 'counsel-set-variable cmd-counsel-set-variable)
+  (register-command! 'counsel-yank-pop cmd-counsel-yank-pop)
+  (register-command! 'swiper-isearch-thing-at-point cmd-swiper-isearch-thing-at-point)
+  (register-command! 'swiper-thing-at-point cmd-swiper-thing-at-point)
+  (register-command! 'eval-minibuffer cmd-eval-minibuffer)
+  (register-command! 'custom-theme-visit-theme cmd-custom-theme-visit-theme)
+  (register-command! 'package-menu-mark-upgrades cmd-package-menu-mark-upgrades)
+  (register-command! 'windmove-delete-left cmd-windmove-delete-left)
+  (register-command! 'windmove-delete-right cmd-windmove-delete-right)
+  (register-command! 'windmove-delete-up cmd-windmove-delete-up)
+  (register-command! 'windmove-delete-down cmd-windmove-delete-down)
+  (register-command! 'buf-move-left cmd-buf-move-left)
+  (register-command! 'buf-move-right cmd-buf-move-right)
+  (register-command! 'buf-move-up cmd-buf-move-up)
+  (register-command! 'buf-move-down cmd-buf-move-down)
+  (register-command! 'flop-frame cmd-flop-frame)
+  (register-command! 'rotate-frame-clockwise cmd-rotate-frame-clockwise)
+  (register-command! 'rotate-frame-anticlockwise cmd-rotate-frame-anticlockwise)
+  (register-command! 'eyebrowse-switch-to-window-config-1 cmd-eyebrowse-switch-to-window-config-1)
+  (register-command! 'eyebrowse-switch-to-window-config-2 cmd-eyebrowse-switch-to-window-config-2)
 )