Round 212: Evil extensions (20 commands)
ober
238b296bfadf3644227d7b12ac0dada768955a9b
--- 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 212 — Evil extensions + +| Command | Status | Description | +|---------|--------|-------------| +| evil-collection-translate-key | :orange_circle: | Translate key in evil collection | +| evil-collection-swap-key | :orange_circle: | Swap keys in evil collection | +| evil-surround-edit | :orange_circle: | Edit surround pair | +| evil-commentary-yank-line | :orange_circle: | Yank and comment line | +| evil-matchit-jump | :orange_circle: | Jump to matching item | +| evil-matchit-jump-items | :orange_circle: | Jump between matching items | +| evil-numbers-increase | :orange_circle: | Increase number at point | +| evil-numbers-decrease | :orange_circle: | Decrease number at point | +| evil-owl-goto-char | :orange_circle: | Owl goto char with hints | +| evil-owl-goto-char-2 | :orange_circle: | Owl goto 2-char with hints | +| evil-textobj-tree-sitter-goto-node | :orange_circle: | Goto tree-sitter node | +| evil-textobj-tree-sitter-select-node | :orange_circle: | Select tree-sitter node | +| evil-args-forward | :orange_circle: | Move to next argument | +| evil-args-backward | :orange_circle: | Move to previous argument | +| evil-args-insert | :orange_circle: | Insert argument | +| evil-args-delete | :orange_circle: | Delete argument | +| evil-indent-plus-indent | :orange_circle: | Indent at same level | +| evil-indent-plus-indent-up | :orange_circle: | Indent at upper level | +| evil-quick-diff | :orange_circle: | Start quick diff | +| evil-quick-diff-cancel | :orange_circle: | Cancel quick diff | + ### Round 211 — Treemacs ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -18772,3 +18772,45 @@ (def (cmd-treemacs-finish-edit app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treemacs: finished workspace edit"))) + +;;; Round 212 — Evil extensions (batch 2) + +(def (cmd-evil-textobj-tree-sitter-goto-node app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: goto tree-sitter node"))) + +(def (cmd-evil-textobj-tree-sitter-select-node app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: selected tree-sitter node"))) + +(def (cmd-evil-args-forward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: moved to next argument"))) + +(def (cmd-evil-args-backward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: moved to previous argument"))) + +(def (cmd-evil-args-insert app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: inserting argument"))) + +(def (cmd-evil-args-delete app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: deleted argument"))) + +(def (cmd-evil-indent-plus-indent app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: indented at same level"))) + +(def (cmd-evil-indent-plus-indent-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: indented at upper level"))) + +(def (cmd-evil-quick-diff app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: started quick diff"))) + +(def (cmd-evil-quick-diff-cancel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: cancelled quick diff"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -19381,3 +19381,53 @@ (if (mode-enabled? app 'treemacs-gap-between-roots) (echo-message! echo "Treemacs: gap between roots enabled") (echo-message! echo "Treemacs: gap between roots disabled")))) + +;;; Round 212 — Evil extensions (batch 1) + +(def (cmd-evil-collection-translate-key app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Translate key: " + (lambda (key) + (echo-message! echo (str "Evil: translated key " key)))))) + +(def (cmd-evil-collection-swap-key app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Swap key: " + (lambda (key) + (echo-message! echo (str "Evil: swapped key " key)))))) + +(def (cmd-evil-surround-edit app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: editing surround"))) + +(def (cmd-evil-commentary-yank-line app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: yanked and commented line"))) + +(def (cmd-evil-matchit-jump app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: jumped to matching item"))) + +(def (cmd-evil-matchit-jump-items app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: jumped between matching items"))) + +(def (cmd-evil-numbers-increase app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: increased number at point"))) + +(def (cmd-evil-numbers-decrease app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Evil: decreased number at point"))) + +(def (cmd-evil-owl-goto-char app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Char: " + (lambda (ch) + (echo-message! echo (str "Evil: owl goto char " ch)))))) + +(def (cmd-evil-owl-goto-char-2 app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Chars: " + (lambda (chs) + (echo-message! echo (str "Evil: owl goto 2-char " chs)))))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5885,4 +5885,25 @@ (register-command! 'treemacs-previous-workspace cmd-treemacs-previous-workspace) (register-command! 'treemacs-remove-workspace cmd-treemacs-remove-workspace) (register-command! 'treemacs-finish-edit cmd-treemacs-finish-edit) + ;; Round 212 + (register-command! 'evil-collection-translate-key cmd-evil-collection-translate-key) + (register-command! 'evil-collection-swap-key cmd-evil-collection-swap-key) + (register-command! 'evil-surround-edit cmd-evil-surround-edit) + (register-command! 'evil-commentary-yank-line cmd-evil-commentary-yank-line) + (register-command! 'evil-matchit-jump cmd-evil-matchit-jump) + (register-command! 'evil-matchit-jump-items cmd-evil-matchit-jump-items) + (register-command! 'evil-numbers-increase cmd-evil-numbers-increase) + (register-command! 'evil-numbers-decrease cmd-evil-numbers-decrease) + (register-command! 'evil-owl-goto-char cmd-evil-owl-goto-char) + (register-command! 'evil-owl-goto-char-2 cmd-evil-owl-goto-char-2) + (register-command! 'evil-textobj-tree-sitter-goto-node cmd-evil-textobj-tree-sitter-goto-node) + (register-command! 'evil-textobj-tree-sitter-select-node cmd-evil-textobj-tree-sitter-select-node) + (register-command! 'evil-args-forward cmd-evil-args-forward) + (register-command! 'evil-args-backward cmd-evil-args-backward) + (register-command! 'evil-args-insert cmd-evil-args-insert) + (register-command! 'evil-args-delete cmd-evil-args-delete) + (register-command! 'evil-indent-plus-indent cmd-evil-indent-plus-indent) + (register-command! 'evil-indent-plus-indent-up cmd-evil-indent-plus-indent-up) + (register-command! 'evil-quick-diff cmd-evil-quick-diff) + (register-command! 'evil-quick-diff-cancel cmd-evil-quick-diff-cancel) )