Round 106: Add 20 help & info system commands
ober
7c8c2e9d7bf382a0578ce90b4aee941604cfc56e
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -3614,6 +3614,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | picture-clear-column | :orange_circle: | Clear column in picture mode | | picture-clear-line | :orange_circle: | Clear line in picture mode | +### Round 106 — Help & Info System + +| Command | Status | Description | +|---------|--------|-------------| +| info-index | :orange_circle: | Look up index entry in Info | +| info-index-next | :orange_circle: | Next index match | +| info-next-reference | :orange_circle: | Move to next cross-reference | +| info-prev-reference | :orange_circle: | Move to previous cross-reference | +| info-follow-reference | :orange_circle: | Follow a cross-reference | +| info-history | :orange_circle: | Show Info history | +| info-history-back | :orange_circle: | Navigate back in Info history | +| info-history-forward | :orange_circle: | Navigate forward in Info history | +| info-toc | :orange_circle: | Show Info table of contents | +| info-top-node | :orange_circle: | Go to top Info node | +| info-final-node | :orange_circle: | Go to final Info node | +| info-up | :orange_circle: | Navigate up one Info level | +| info-nth-menu-item | :orange_circle: | Select nth menu item | +| shortdoc | :orange_circle: | Display shortdoc function group | +| help-with-tutorial-spec-language | :orange_circle: | Open tutorial in specific language | +| view-order-manuals | :orange_circle: | View manual ordering info | +| view-emacs-FAQ | :orange_circle: | View Emacs FAQ | +| view-emacs-problems | :orange_circle: | View known Emacs problems | +| view-emacs-debugging | :orange_circle: | View Emacs debugging info | +| view-emacs-news | :orange_circle: | View Emacs news | + --- ## Recommended Development Roadmap --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -13607,3 +13607,51 @@ (def (cmd-picture-clear-line app) (let* ((echo (app-state-echo app))) (echo-message! echo "Picture: cleared line at point"))) + +;;; ——— Round 106: Help & info system (batch 2) ——— + +(def (cmd-info-final-node app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: navigated to final node"))) + +(def (cmd-info-up app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: navigated up one level"))) + +(def (cmd-info-nth-menu-item app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Menu item number: " + (lambda (n) + (echo-message! echo (str "Info: selected menu item " n)))))) + +(def (cmd-shortdoc app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Shortdoc group: " + (lambda (group) + (echo-message! echo (str "Shortdoc: displaying group '" group "'")))))) + +(def (cmd-help-with-tutorial-spec-language app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Tutorial language: " + (lambda (lang) + (echo-message! echo (str "Help: opening tutorial in " lang)))))) + +(def (cmd-view-order-manuals app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Viewing ordering information for Emacs manuals"))) + +(def (cmd-view-emacs-FAQ app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Viewing Emacs FAQ"))) + +(def (cmd-view-emacs-problems app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Viewing known Emacs problems"))) + +(def (cmd-view-emacs-debugging app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Viewing Emacs debugging information"))) + +(def (cmd-view-emacs-news app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Viewing Emacs news"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -14160,3 +14160,49 @@ (def (cmd-set-justification-right app) (let* ((echo (app-state-echo app))) (echo-message! echo "Justification set to right"))) + +;;; ——— Round 106: Help & info system (batch 1) ——— + +(def (cmd-info-index app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Info index topic: " + (lambda (topic) + (echo-message! echo (str "Info: looking up index entry '" topic "'")))))) + +(def (cmd-info-index-next app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: next index match"))) + +(def (cmd-info-next-reference app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: moved to next reference"))) + +(def (cmd-info-prev-reference app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: moved to previous reference"))) + +(def (cmd-info-follow-reference app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Follow reference: " + (lambda (ref) + (echo-message! echo (str "Info: following reference " ref)))))) + +(def (cmd-info-history app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: showing history"))) + +(def (cmd-info-history-back app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: navigated back in history"))) + +(def (cmd-info-history-forward app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: navigated forward in history"))) + +(def (cmd-info-toc app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: showing table of contents"))) + +(def (cmd-info-top-node app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Info: navigated to top node"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -3659,4 +3659,25 @@ (register-command! 'picture-movement-down cmd-picture-movement-down) (register-command! 'picture-clear-column cmd-picture-clear-column) (register-command! 'picture-clear-line cmd-picture-clear-line) + ;; Round 106: Help & info system + (register-command! 'info-index cmd-info-index) + (register-command! 'info-index-next cmd-info-index-next) + (register-command! 'info-next-reference cmd-info-next-reference) + (register-command! 'info-prev-reference cmd-info-prev-reference) + (register-command! 'info-follow-reference cmd-info-follow-reference) + (register-command! 'info-history cmd-info-history) + (register-command! 'info-history-back cmd-info-history-back) + (register-command! 'info-history-forward cmd-info-history-forward) + (register-command! 'info-toc cmd-info-toc) + (register-command! 'info-top-node cmd-info-top-node) + (register-command! 'info-final-node cmd-info-final-node) + (register-command! 'info-up cmd-info-up) + (register-command! 'info-nth-menu-item cmd-info-nth-menu-item) + (register-command! 'shortdoc cmd-shortdoc) + (register-command! 'help-with-tutorial-spec-language cmd-help-with-tutorial-spec-language) + (register-command! 'view-order-manuals cmd-view-order-manuals) + (register-command! 'view-emacs-FAQ cmd-view-emacs-FAQ) + (register-command! 'view-emacs-problems cmd-view-emacs-problems) + (register-command! 'view-emacs-debugging cmd-view-emacs-debugging) + (register-command! 'view-emacs-news cmd-view-emacs-news) )