Round 162: Add 20 Origami, Vimish-fold, Yafolding, Indirect-buffer commands
ober
07e42144ea0c96c260a7b21741e89cd3232dd394
--- 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 162 — Origami, Vimish-fold, Yafolding, Indirect-buffer + +| Feature | Status | Notes | +|---|---|---| +| `origami-previous-fold` | :orange_circle: | Previous fold | +| `origami-undo` | :orange_circle: | Undo fold action | +| `origami-redo` | :orange_circle: | Redo fold action | +| `origami-reset` | :orange_circle: | Reset all folds | +| `yafolding-toggle-all` | :orange_circle: | Toggle all folds | +| `yafolding-toggle-element` | :orange_circle: | Toggle element fold | +| `yafolding-show-all` | :orange_circle: | Show all folds | +| `yafolding-hide-all` | :orange_circle: | Hide all folds | +| `vimish-fold` | :orange_circle: | Create fold from region | +| `vimish-fold-unfold` | :orange_circle: | Unfold at point | +| `vimish-fold-unfold-all` | :orange_circle: | Unfold all | +| `vimish-fold-delete` | :orange_circle: | Delete fold | +| `vimish-fold-delete-all` | :orange_circle: | Delete all folds | +| `vimish-fold-toggle` | :orange_circle: | Toggle fold | +| `vimish-fold-toggle-all` | :orange_circle: | Toggle all folds | +| `vimish-fold-next-fold` | :orange_circle: | Next fold | +| `vimish-fold-previous-fold` | :orange_circle: | Previous fold | +| `vimish-fold-avy` | :orange_circle: | Avy jump to fold | +| `clone-indirect-buffer-other-window` | :orange_circle: | Clone indirect buffer | +| `make-indirect-buffer` | :orange_circle: | Make indirect buffer | + ### Round 161 — Ediff, Emerge, Compare-windows Extended | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -16310,3 +16310,49 @@ (def (cmd-ediff-copy-B-to-A app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ediff: copied region B to A"))) + +;; ============================================================ +;; Round 162 — Vimish-fold, Yafolding, Indirect-buffer (batch 2) +;; ============================================================ + +(def (cmd-vimish-fold-delete-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: deleted all folds"))) + +(def (cmd-vimish-fold-toggle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: toggled fold at point"))) + +(def (cmd-vimish-fold-toggle-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: toggled all folds"))) + +(def (cmd-vimish-fold-next-fold app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: moved to next fold"))) + +(def (cmd-vimish-fold-previous-fold app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: moved to previous fold"))) + +(def (cmd-clone-indirect-buffer-other-window app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cloned indirect buffer in other window"))) + +(def (cmd-make-indirect-buffer app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Indirect buffer name: " + (lambda (name) + (echo-message! echo (str "Created indirect buffer '" name "'")))))) + +(def (cmd-vimish-fold-avy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: avy jump to fold"))) + +(def (cmd-yafolding-show-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yafolding: showed all folds"))) + +(def (cmd-yafolding-hide-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yafolding: hid all folds"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -16948,3 +16948,47 @@ (def (cmd-diff-latest-backup-file app) (let* ((echo (app-state-echo app))) (echo-message! echo "Diff: comparing with latest backup file"))) + +;; ============================================================ +;; Round 162 — Origami, Vimish-fold, Yafolding, Indirect-buffer (batch 1) +;; ============================================================ + +(def (cmd-origami-previous-fold app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Origami: moved to previous fold"))) + +(def (cmd-origami-undo app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Origami: undone last fold action"))) + +(def (cmd-origami-redo app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Origami: redone fold action"))) + +(def (cmd-origami-reset app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Origami: reset all folds"))) + +(def (cmd-yafolding-toggle-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yafolding: toggled all folds"))) + +(def (cmd-yafolding-toggle-element app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yafolding: toggled element fold"))) + +(def (cmd-vimish-fold app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: created fold from region"))) + +(def (cmd-vimish-fold-unfold app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: unfolded at point"))) + +(def (cmd-vimish-fold-unfold-all app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: unfolded all"))) + +(def (cmd-vimish-fold-delete app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vimish-fold: deleted fold at point"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4835,4 +4835,25 @@ (register-command! 'ediff-jump-to-difference cmd-ediff-jump-to-difference) (register-command! 'ediff-copy-A-to-B cmd-ediff-copy-A-to-B) (register-command! 'ediff-copy-B-to-A cmd-ediff-copy-B-to-A) + ;; Round 162 + (register-command! 'origami-previous-fold cmd-origami-previous-fold) + (register-command! 'origami-undo cmd-origami-undo) + (register-command! 'origami-redo cmd-origami-redo) + (register-command! 'origami-reset cmd-origami-reset) + (register-command! 'yafolding-toggle-all cmd-yafolding-toggle-all) + (register-command! 'yafolding-toggle-element cmd-yafolding-toggle-element) + (register-command! 'vimish-fold cmd-vimish-fold) + (register-command! 'vimish-fold-unfold cmd-vimish-fold-unfold) + (register-command! 'vimish-fold-unfold-all cmd-vimish-fold-unfold-all) + (register-command! 'vimish-fold-delete cmd-vimish-fold-delete) + (register-command! 'vimish-fold-delete-all cmd-vimish-fold-delete-all) + (register-command! 'vimish-fold-toggle cmd-vimish-fold-toggle) + (register-command! 'vimish-fold-toggle-all cmd-vimish-fold-toggle-all) + (register-command! 'vimish-fold-next-fold cmd-vimish-fold-next-fold) + (register-command! 'vimish-fold-previous-fold cmd-vimish-fold-previous-fold) + (register-command! 'clone-indirect-buffer-other-window cmd-clone-indirect-buffer-other-window) + (register-command! 'make-indirect-buffer cmd-make-indirect-buffer) + (register-command! 'vimish-fold-avy cmd-vimish-fold-avy) + (register-command! 'yafolding-show-all cmd-yafolding-show-all) + (register-command! 'yafolding-hide-all cmd-yafolding-hide-all) )