Round 207: Treesit-ext, Combobulate, Expreg, Puni structural editing commands
ober
af926939113faa62f7c06976243a58ed7b2d06e4
--- 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 207 — Treesit-ext, Combobulate, Expreg, Puni + +| Feature | Status | Notes | +|---|---|---| +| treesit-inspect-mode | :orange_circle: | Toggle treesit inspect mode | +| combobulate-navigate-up | :orange_circle: | Navigate up in AST | +| combobulate-navigate-down | :orange_circle: | Navigate down in AST | +| combobulate-navigate-next | :orange_circle: | Navigate to next sibling | +| combobulate-navigate-previous | :orange_circle: | Navigate to previous sibling | +| combobulate-drag-up | :orange_circle: | Drag node up | +| combobulate-drag-down | :orange_circle: | Drag node down | +| combobulate-splice-up | :orange_circle: | Splice up in AST | +| combobulate-vanish | :orange_circle: | Vanish node | +| combobulate-envelop | :orange_circle: | Envelop node | +| expreg-expand | :orange_circle: | Expand region by expression | +| expreg-contract | :orange_circle: | Contract region by expression | +| puni-kill-active-region | :orange_circle: | Kill active region (Puni) | +| puni-squeeze | :orange_circle: | Squeeze (Puni) | +| puni-slurp-forward | :orange_circle: | Slurp forward (Puni) | +| puni-barf-forward | :orange_circle: | Barf forward (Puni) | +| puni-raise | :orange_circle: | Raise (Puni) | +| puni-convolute | :orange_circle: | Convolute (Puni) | +| puni-split | :orange_circle: | Split (Puni) | +| puni-transpose | :orange_circle: | Transpose (Puni) | + ### Round 206 — Corfu-ext, Cape-ext, Company-ext, Hippie-ext, Pabbrev, Abbrev-suggest | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -18529,3 +18529,44 @@ (if (mode-enabled? app 'corfu-candidate-overlay) (echo-message! echo "Corfu candidate overlay mode enabled") (echo-message! echo "Corfu candidate overlay mode disabled")))) + +;; Round 207 — Expreg, Puni +(def (cmd-expreg-expand app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Expreg: expanded region"))) + +(def (cmd-expreg-contract app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Expreg: contracted region"))) + +(def (cmd-puni-kill-active-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: killed active region"))) + +(def (cmd-puni-squeeze app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: squeezed"))) + +(def (cmd-puni-slurp-forward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: slurped forward"))) + +(def (cmd-puni-barf-forward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: barfed forward"))) + +(def (cmd-puni-raise app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: raised"))) + +(def (cmd-puni-convolute app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: convoluted"))) + +(def (cmd-puni-split app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: split"))) + +(def (cmd-puni-transpose app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Puni: transposed"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -19139,3 +19139,47 @@ (def (cmd-company-show-doc-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Company: showing documentation buffer"))) + +;; Round 207 — Treesit-ext, Combobulate +(def (cmd-treesit-inspect-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'treesit-inspect) + (if (mode-enabled? app 'treesit-inspect) + (echo-message! echo "Treesit inspect mode enabled") + (echo-message! echo "Treesit inspect mode disabled")))) + +(def (cmd-combobulate-navigate-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: navigated up"))) + +(def (cmd-combobulate-navigate-down app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: navigated down"))) + +(def (cmd-combobulate-navigate-next app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: navigated to next sibling"))) + +(def (cmd-combobulate-navigate-previous app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: navigated to previous sibling"))) + +(def (cmd-combobulate-drag-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: dragged node up"))) + +(def (cmd-combobulate-drag-down app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: dragged node down"))) + +(def (cmd-combobulate-splice-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: spliced up"))) + +(def (cmd-combobulate-vanish app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: vanished node"))) + +(def (cmd-combobulate-envelop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Combobulate: enveloped node"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5780,4 +5780,25 @@ (register-command! 'pabbrev-mode cmd-pabbrev-mode) (register-command! 'abbrev-suggest-mode cmd-abbrev-suggest-mode) (register-command! 'corfu-candidate-overlay-mode cmd-corfu-candidate-overlay-mode) + ;; Round 207 + (register-command! 'treesit-inspect-mode cmd-treesit-inspect-mode) + (register-command! 'combobulate-navigate-up cmd-combobulate-navigate-up) + (register-command! 'combobulate-navigate-down cmd-combobulate-navigate-down) + (register-command! 'combobulate-navigate-next cmd-combobulate-navigate-next) + (register-command! 'combobulate-navigate-previous cmd-combobulate-navigate-previous) + (register-command! 'combobulate-drag-up cmd-combobulate-drag-up) + (register-command! 'combobulate-drag-down cmd-combobulate-drag-down) + (register-command! 'combobulate-splice-up cmd-combobulate-splice-up) + (register-command! 'combobulate-vanish cmd-combobulate-vanish) + (register-command! 'combobulate-envelop cmd-combobulate-envelop) + (register-command! 'expreg-expand cmd-expreg-expand) + (register-command! 'expreg-contract cmd-expreg-contract) + (register-command! 'puni-kill-active-region cmd-puni-kill-active-region) + (register-command! 'puni-squeeze cmd-puni-squeeze) + (register-command! 'puni-slurp-forward cmd-puni-slurp-forward) + (register-command! 'puni-barf-forward cmd-puni-barf-forward) + (register-command! 'puni-raise cmd-puni-raise) + (register-command! 'puni-convolute cmd-puni-convolute) + (register-command! 'puni-split cmd-puni-split) + (register-command! 'puni-transpose cmd-puni-transpose) )