Round 172: Helpful, Elisp-refs, Macrostep, Inspector commands
ober
904d56e9ff3b13c5e2b7f59e793cf04b83cfe7dc
--- 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 172 — Helpful, Elisp-refs, Macrostep, Inspector + +| Feature | Status | Notes | +|---|---|---| +| helpful-callable | :orange_circle: | Show help for callable symbol | +| helpful-key | :orange_circle: | Show help for key binding | +| helpful-variable | :orange_circle: | Show help for variable | +| helpful-update | :orange_circle: | Update helpful buffer | +| helpful-visit-reference | :orange_circle: | Visit reference at point | +| elisp-refs-special | :orange_circle: | Find references to special form | +| elisp-refs-read | :orange_circle: | Find read references to symbol | +| elisp-refs-widget | :orange_circle: | Find widget references | +| macrostep-collapse | :orange_circle: | Collapse macro expansion | +| macrostep-prev-macro | :orange_circle: | Move to previous macro | +| macrostep-next-macro | :orange_circle: | Move to next macro | +| macrostep-mode | :orange_circle: | Toggle macrostep mode | +| macrostep-environment | :orange_circle: | Show expansion environment | +| inspector-inspect | :orange_circle: | Inspect an object | +| inspector-pop | :orange_circle: | Pop to previous inspected object | +| inspector-quit | :orange_circle: | Quit inspector | +| inspector-next-reference | :orange_circle: | Move to next reference | +| inspector-inspect-expression | :orange_circle: | Inspect arbitrary expression | +| inspector-inspect-last-sexp | :orange_circle: | Inspect last sexp | +| inspector-copy-down | :orange_circle: | Copy inspected object down | + ### Round 171 — Selectrum, Icomplete-ext, Mct, Ivy-posframe | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -16824,3 +16824,51 @@ (if (mode-enabled? app 'all-the-icons-ivy-rich) (echo-message! echo "All-the-icons-ivy-rich mode enabled") (echo-message! echo "All-the-icons-ivy-rich mode disabled")))) + +;; Round 172 — Helpful, Elisp-refs, Macrostep, Inspector (batch 2) +(def (cmd-macrostep-next-macro app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Macrostep: moved to next macro"))) + +(def (cmd-macrostep-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'macrostep) + (if (mode-enabled? app 'macrostep) + (echo-message! echo "Macrostep mode enabled") + (echo-message! echo "Macrostep mode disabled")))) + +(def (cmd-macrostep-environment app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Macrostep: showing expansion environment"))) + +(def (cmd-inspector-inspect app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Inspect: " + (lambda (expr) + (echo-message! echo (str "Inspector: inspecting " expr)))))) + +(def (cmd-inspector-pop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Inspector: popped to previous object"))) + +(def (cmd-inspector-quit app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Inspector: closed"))) + +(def (cmd-inspector-next-reference app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Inspector: moved to next reference"))) + +(def (cmd-inspector-inspect-expression app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Expression: " + (lambda (expr) + (echo-message! echo (str "Inspector: inspecting expression " expr)))))) + +(def (cmd-inspector-inspect-last-sexp app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Inspector: inspecting last sexp"))) + +(def (cmd-inspector-copy-down app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Inspector: copied object down"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -17441,3 +17441,56 @@ (if (mode-enabled? app 'mct-region) (echo-message! echo "Mct region mode enabled") (echo-message! echo "Mct region mode disabled")))) + +;; Round 172 — Helpful, Elisp-refs, Macrostep, Inspector (batch 1) +(def (cmd-helpful-callable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Callable: " + (lambda (name) + (echo-message! echo (str "Helpful: showing docs for callable " name)))))) + +(def (cmd-helpful-key app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key: " + (lambda (key) + (echo-message! echo (str "Helpful: showing docs for key " key)))))) + +(def (cmd-helpful-variable app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Variable: " + (lambda (name) + (echo-message! echo (str "Helpful: showing docs for variable " name)))))) + +(def (cmd-helpful-update app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Helpful: buffer updated"))) + +(def (cmd-helpful-visit-reference app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Helpful: visiting reference at point"))) + +(def (cmd-elisp-refs-special app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Special form: " + (lambda (name) + (echo-message! echo (str "Elisp-refs: finding references to " name)))))) + +(def (cmd-elisp-refs-read app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Read symbol: " + (lambda (name) + (echo-message! echo (str "Elisp-refs: finding read references to " name)))))) + +(def (cmd-elisp-refs-widget app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Widget: " + (lambda (name) + (echo-message! echo (str "Elisp-refs: finding widget references to " name)))))) + +(def (cmd-macrostep-collapse app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Macrostep: collapsed macro expansion"))) + +(def (cmd-macrostep-prev-macro app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Macrostep: moved to previous macro"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5045,4 +5045,25 @@ (register-command! 'ivy-rich-modify-columns cmd-ivy-rich-modify-columns) (register-command! 'ivy-rich-set-display-transformer cmd-ivy-rich-set-display-transformer) (register-command! 'all-the-icons-ivy-rich-mode cmd-all-the-icons-ivy-rich-mode) + ;; Round 172 — Helpful, Elisp-refs, Macrostep, Inspector + (register-command! 'helpful-callable cmd-helpful-callable) + (register-command! 'helpful-key cmd-helpful-key) + (register-command! 'helpful-variable cmd-helpful-variable) + (register-command! 'helpful-update cmd-helpful-update) + (register-command! 'helpful-visit-reference cmd-helpful-visit-reference) + (register-command! 'elisp-refs-special cmd-elisp-refs-special) + (register-command! 'elisp-refs-read cmd-elisp-refs-read) + (register-command! 'elisp-refs-widget cmd-elisp-refs-widget) + (register-command! 'macrostep-collapse cmd-macrostep-collapse) + (register-command! 'macrostep-prev-macro cmd-macrostep-prev-macro) + (register-command! 'macrostep-next-macro cmd-macrostep-next-macro) + (register-command! 'macrostep-mode cmd-macrostep-mode) + (register-command! 'macrostep-environment cmd-macrostep-environment) + (register-command! 'inspector-inspect cmd-inspector-inspect) + (register-command! 'inspector-pop cmd-inspector-pop) + (register-command! 'inspector-quit cmd-inspector-quit) + (register-command! 'inspector-next-reference cmd-inspector-next-reference) + (register-command! 'inspector-inspect-expression cmd-inspector-inspect-expression) + (register-command! 'inspector-inspect-last-sexp cmd-inspector-inspect-last-sexp) + (register-command! 'inspector-copy-down cmd-inspector-copy-down) )