Round 130: Add 20 Eshell/Comint/Term, Treemacs extended commands
ober
ec820e42a933f2f844c9bc1074fb89cfb0a7f3ea
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4234,6 +4234,33 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features --- +### Round 130 — Eshell/Comint/Term, Treemacs Extended + +| Command | Status | Description | +|---------|--------|-------------| +| eshell-list-history | :orange_circle: | List eshell command history | +| eshell-previous-prompt | :orange_circle: | Move to previous eshell prompt | +| eshell-next-prompt | :orange_circle: | Move to next eshell prompt | +| comint-previous-matching-input-from-input | :orange_circle: | Previous matching comint input | +| comint-next-matching-input-from-input | :orange_circle: | Next matching comint input | +| term-send-raw | :orange_circle: | Send raw character in term | +| term-send-raw-meta | :orange_circle: | Send raw meta character in term | +| term-pager-toggle | :orange_circle: | Toggle term pager | +| treemacs-expand-project | :orange_circle: | Expand treemacs project | +| treemacs-display-current-project-exclusively | :orange_circle: | Display only current project | +| treemacs-toggle-show-dotfiles | :orange_circle: | Toggle showing dotfiles | +| treemacs-copy-project-path-at-point | :orange_circle: | Copy project path | +| treemacs-copy-file-path-at-point | :orange_circle: | Copy file path | +| treemacs-copy-absolute-path-at-point | :orange_circle: | Copy absolute path | +| treemacs-copy-relative-path-at-point | :orange_circle: | Copy relative path | +| treemacs-move-project-up | :orange_circle: | Move project up in tree | +| treemacs-move-project-down | :orange_circle: | Move project down in tree | +| treemacs-visit-node-default | :orange_circle: | Visit node (default) | +| treemacs-visit-node-ace | :orange_circle: | Visit node via ace | +| treemacs-peek-mode | :orange_circle: | Toggle treemacs peek mode | + +--- + ## Recommended Development Roadmap > *Reprioritized based on the user's actual Emacs workflow* --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -14754,3 +14754,51 @@ (def (cmd-eshell-pcomplete app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eshell: programmable completion"))) + +;;; Round 130 — Eshell/Comint/Term, Treemacs extended (batch 2) + +(def (cmd-treemacs-toggle-show-dotfiles app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'treemacs-show-dotfiles) + (if (mode-enabled? app 'treemacs-show-dotfiles) + (echo-message! echo "Treemacs: showing dotfiles") + (echo-message! echo "Treemacs: hiding dotfiles")))) + +(def (cmd-treemacs-copy-project-path-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: copied project path"))) + +(def (cmd-treemacs-copy-file-path-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: copied file path"))) + +(def (cmd-treemacs-copy-absolute-path-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: copied absolute path"))) + +(def (cmd-treemacs-copy-relative-path-at-point app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: copied relative path"))) + +(def (cmd-treemacs-move-project-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: moved project up"))) + +(def (cmd-treemacs-move-project-down app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: moved project down"))) + +(def (cmd-treemacs-visit-node-default app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: visited node (default action)"))) + +(def (cmd-treemacs-visit-node-ace app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: visited node via ace"))) + +(def (cmd-treemacs-peek-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'treemacs-peek) + (if (mode-enabled? app 'treemacs-peek) + (echo-message! echo "Treemacs-Peek mode enabled") + (echo-message! echo "Treemacs-Peek mode disabled")))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -15371,3 +15371,48 @@ (echo-read-string echo "Previous matching input: " (lambda (pat) (echo-message! echo (str "Eshell: previous input matching '" pat "'")))))) + +;;; Round 130 — Eshell/Comint/Term, Treemacs extended (batch 1) + +(def (cmd-eshell-list-history app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Eshell: listing command history"))) + +(def (cmd-eshell-previous-prompt app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Eshell: moved to previous prompt"))) + +(def (cmd-eshell-next-prompt app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Eshell: moved to next prompt"))) + +(def (cmd-comint-previous-matching-input-from-input app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Comint: previous matching input from current"))) + +(def (cmd-comint-next-matching-input-from-input app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Comint: next matching input from current"))) + +(def (cmd-term-send-raw app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Term: sent raw character"))) + +(def (cmd-term-send-raw-meta app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Term: sent raw meta character"))) + +(def (cmd-term-pager-toggle app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'term-pager) + (if (mode-enabled? app 'term-pager) + (echo-message! echo "Term pager enabled") + (echo-message! echo "Term pager disabled")))) + +(def (cmd-treemacs-expand-project app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: expanded project"))) + +(def (cmd-treemacs-display-current-project-exclusively app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Treemacs: displaying current project exclusively"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4163,4 +4163,25 @@ (register-command! 'eshell-clear-buffer cmd-eshell-clear-buffer) (register-command! 'eshell-toggle-cd cmd-eshell-toggle-cd) (register-command! 'eshell-pcomplete cmd-eshell-pcomplete) + ;; Round 130 — Eshell/Comint/Term, Treemacs extended + (register-command! 'eshell-list-history cmd-eshell-list-history) + (register-command! 'eshell-previous-prompt cmd-eshell-previous-prompt) + (register-command! 'eshell-next-prompt cmd-eshell-next-prompt) + (register-command! 'comint-previous-matching-input-from-input cmd-comint-previous-matching-input-from-input) + (register-command! 'comint-next-matching-input-from-input cmd-comint-next-matching-input-from-input) + (register-command! 'term-send-raw cmd-term-send-raw) + (register-command! 'term-send-raw-meta cmd-term-send-raw-meta) + (register-command! 'term-pager-toggle cmd-term-pager-toggle) + (register-command! 'treemacs-expand-project cmd-treemacs-expand-project) + (register-command! 'treemacs-display-current-project-exclusively cmd-treemacs-display-current-project-exclusively) + (register-command! 'treemacs-toggle-show-dotfiles cmd-treemacs-toggle-show-dotfiles) + (register-command! 'treemacs-copy-project-path-at-point cmd-treemacs-copy-project-path-at-point) + (register-command! 'treemacs-copy-file-path-at-point cmd-treemacs-copy-file-path-at-point) + (register-command! 'treemacs-copy-absolute-path-at-point cmd-treemacs-copy-absolute-path-at-point) + (register-command! 'treemacs-copy-relative-path-at-point cmd-treemacs-copy-relative-path-at-point) + (register-command! 'treemacs-move-project-up cmd-treemacs-move-project-up) + (register-command! 'treemacs-move-project-down cmd-treemacs-move-project-down) + (register-command! 'treemacs-visit-node-default cmd-treemacs-visit-node-default) + (register-command! 'treemacs-visit-node-ace cmd-treemacs-visit-node-ace) + (register-command! 'treemacs-peek-mode cmd-treemacs-peek-mode) )