Function: hyperbole-minibuffer-menu

hyperbole-minibuffer-menu is a byte-compiled function defined in hui-mini.el.

Signature

(hyperbole-minibuffer-menu)

Documentation

Rebuild and return the entire Hyperbole minibuffer menu structure.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hui-mini.el
  (define-key hui:menu-mode-map "\M-\C-i"               #'hui:menu-backward-item)) ;; M-TAB

;;; ************************************************************************
;;; Hyperbole Minibuffer Menus
;;; ************************************************************************

(defun hyperbole-minibuffer-menu ()
  "Rebuild and return the entire Hyperbole minibuffer menu structure."
(setq
 hui:menus
 (delq nil
 (list (cons
	'hyperbole
	(append
	 (let ((version (if (= (aref hyperb:version 0) ?0)
			    (substring hyperb:version 1)
			  hyperb:version)))
	   (list (list (concat "Hy" version ">"))))
	 '(
	   ("Act"         hui:hbut-act      "Activate button at point or prompt for a labeled button in buffer.")
	   ("Butfile/"    (menu . butfile)  "Quick access button files menus.")
	   ("Cust/"       (menu . cust)     "Customize Hyperbole by setting major options.")
	   ("Doc/"        (menu . doc)      "Quick access to Hyperbole documentation.")
	   ("Ebut/"       (menu . ebut)     "Explicit button commands.")
	   ("Find/"       (menu . find)     "Find matching line commands.")
	   ("Gbut/"       (menu . gbut)     "Global button commands.")
	   ("HyWiki/"     (menu . hywiki)   "HyWiki commands.")
	   ("Ibut/"       (menu . ibut)     "Implicit button and button type commands.")
	   ("Kotl/"       (menu . kotl)     "Autonumbered outlining and hyperlink capabilities.")
	   ("Msg/"        (menu . msg)      "Mail and News messaging capabilities.")
	   ("Rolo/"       (menu . hyrolo)   "Hierarchical, multi-file rolo lookup and edit commands.")
	   ("Screen/"     (menu . screen)   "Screen display management commands.")
	   ;; ("To/"         (menu . to)       "A-Z menu to search and add Emacs artifacts")
	   ("Win/"        (menu . win)      "Window configuration management commands.")
	   ("historY"     hhist:pop
	    "Jump back to location prior to last Hyperbole button follow.")
	   )))
       '(butfile .
	 (("Butfile>")
	  ("DirFile"      (find-file hbmap:filename)
	   "Edit directory-specific button file.")
	  ("Info"
	   (id-info "(hyperbole)Button Files")
	   "Display manual section on button files.")
	  ("PersonalFile" (find-file
			    (expand-file-name hbmap:filename hbmap:dir-user))
	   "Edit user-specific button file.")))
       '(cust .
         (("Cust>")
	  ("All-Options"       (customize-browse 'hyperbole)
	   "Display tree of Hyperbole customizable options by group.")
	  ("Debug-Toggle"      hkey-toggle-debug
	   "Toggle display of Smart Key context after each press, for debugging.")
	  ("Find-File-URLs"    hpath:find-file-urls-mode
	   "Toggle find-file support for ftp and www URLs.")
	  ("Highlight-Menu-Keys-Toggle" hui:menu-item-toggle-highlight
	   "Toggle highlighting of minibuffer menu keys.")
	  ("Isearch-Invisible" hypb:toggle-isearch-invisible
	   "Toggle whether isearch searches invisible text or not.")
	  ("KeyBindings/"      (menu . cust-keys) "Rebinds global Hyperbole keys.")
	  ("Msg-Toggle-Ebuts"  hyperbole-toggle-messaging
	   "Toggle Hyperbole support for explicit buttons in mail and news buffers.")
	  ("Org-M-RET/"        (menu . cust-org)
	   "Set how much of Hyperbole Smart Key behavior is enabled in Org mode.")
	  ("Referents/"        (menu . cust-referents)
	   "Set where Hyperbole button referents are displayed.")
	  ("Smart-Key-at-Eol/" (menu . cust-eol)
	   "Set how scrolling via end of line presses works.")
	  ("Toggle-Rolo-Dates" hyrolo-toggle-datestamps
	   "Toggle whether date stamps are updated when rolo entries are edited.")
	  ("URL-Display/"      (menu . cust-urls) "Set where URLs are displayed.")
	  ("Web-Search/"       (menu . cust-web) "Set where Web Searches are displayed.")))
       '(cust-eol .
         (("Smart Key press at eol scrolls>")
	  ("Proportionally" (setq smart-scroll-proportional t))
	  ("Windowful"      (setq smart-scroll-proportional nil))))
       '(cust-hywiki-mode .
	 (("HyWiki Mode>")
	  ("All-Editable-Buffers" (hywiki-mode :all)
	   "HyWikiWords are highlighted and active in buffers outside of the HyWiki page directory.")
	  ("HyWiki-Pages-Only"    (hywiki-mode :pages)
	   "HyWikiWords are highlighted and active only in within the HyWiki page directory.")
	  ("Nowhere"              (hywiki-mode nil)
	   "HyWikiWords are disabled everywhere.")))
       '(cust-keys .
         (("Change Keys>")
	  ("ActionKey"     (hui:bind-key #'hkey-either))                        ;; {M-RET}
	  ("ButRename"     (hui:bind-key #'hui:ebut-rename))                    ;; None
	  ("DragKey"       (hui:bind-key #'hkey-operate))                       ;; {M-o}
	  ("FindWeb"       (hui:bind-key #'hui-search-web))                     ;; {C-c /}
	  ("GridOfWindows" (hui:bind-key #'hycontrol-windows-grid))             ;; {C-c @}
	  ("HypbMenu"      (hui:global-bind-key #'hyperbole))                   ;; {C-h h}
	  ("JumpThing"     (hui:bind-key #'hui-select-goto-matching-delimiter)) ;; {C-c .}
	  ("MarkThing"     (hui:bind-key #'hui-select-thing))                   ;; {C-c RET}
	  ("SmartHelp"     (hui:bind-key #'hkey-help))                          ;; {C-h A}
	  ("WinControl"    (hui:bind-key #'hycontrol-enable-windows-mode))      ;; {C-c \}
	  ))
       '(cust-org .
         (("Org M-RET Overrides>")
	  ("All-Hyperbole-Contexts" (customize-save-variable 'hsys-org-enable-smart-keys t)
	   "Smart Keys override Org M-RET in all Org mode Smart Key contexts (see `smart-org').")
	  ("Hyperbole-Buttons-Only" (customize-save-variable 'hsys-org-enable-smart-keys :buttons)
	   "Smart Keys override Org M-RET only when on a Hyperbole recognized button.")
	  ("None"                   (customize-save-variable 'hsys-org-enable-smart-keys nil)
	   "Smart Keys never override Org M-RET operation.")))
       '(cust-referents .
         (("Ref Display>")
	  ("Any-Frame"   (setq hpath:display-where 'other-frame))
	  ("Current-Win" (setq hpath:display-where 'this-window))
	  ("Diff-Frame-One-Win"
	   (setq hpath:display-where 'other-frame-one-window))
	  ("New-Frame"   (setq hpath:display-where 'new-frame))
	  ("Other-Win"   (setq hpath:display-where 'other-window))
	  ("Single-Win"  (setq hpath:display-where 'one-window))))
       '(cust-urls .
         (("URL Display>")
	  ("Chrome"      (setq browse-url-browser-function #'browse-url-chrome))
	  ("Default"     (setq browse-url-browser-function
			       (if (and (boundp 'browse-url-generic-program) (stringp browse-url-generic-program))
				   #'browse-url-generic
				 #'browse-url-default-browser)))
	  ("EWW"         (setq browse-url-browser-function #'eww-browse-url))
	  ("Firefox"     (setq browse-url-browser-function #'browse-url-firefox))
	  ("KDE"         (setq browse-url-browser-function #'browse-url-kde))
	  ("XTerm"       (setq browse-url-browser-function #'browse-url-text-xterm))))
       '(cust-web .
         (("Web Search>")
	  ("Chrome"      (setq hyperbole-web-search-browser-function #'browse-url-chrome))
	  ("Default"     (setq hyperbole-web-search-browser-function
			       (if (and (boundp 'browse-url-generic-program) (stringp browse-url-generic-program))
				   #'browse-url-generic
				 #'browse-url-default-browser)))
	  ("EWW"         (setq hyperbole-web-search-browser-function #'eww-browse-url))
	  ("Firefox"     (setq hyperbole-web-search-browser-function #'browse-url-firefox))
	  ("KDE"         (setq hyperbole-web-search-browser-function #'browse-url-kde))
	  ("XTerm"       (setq hyperbole-web-search-browser-function #'browse-url-text-xterm))))
       '(doc .
	 (("Doc>")
	  ("About"       (hypb:display-file-with-logo "HY-ABOUT") "Overview of Hyperbole.")
	  ("Concepts"    (find-file (expand-file-name "HY-CONCEPTS.kotl" hyperb:dir))
	   "Explains connections among Hyperbole concepts.")
	  ("Demo"        hyperbole-demo                           "Demonstrate Hyperbole features.")
	  ("Files"       (hypb:display-file-with-logo "MANIFEST")
	   "Summarizes Hyperbole system files.  Click on an entry to view it.")
	  ("Glossary"    (id-info "(hyperbole)Glossary")          "Glossary of Hyperbole terms.")
	  ("Info"        (id-info "(hyperbole)Top")               "Online Info version of Hyperbole manual.")
	  ("New"         (hypb:display-file-with-logo "HY-NEWS")  "Recent changes to Hyperbole.")
	  ("SmartKeys"   (hkey-summarize 'current-window)         "Summarize Smart Key mouse or keyboard handling.")
	  ("Types/"      (menu . types)                           "Provide documentation on Hyperbole types.")
	  ("WhyUse"      (find-file (expand-file-name "HY-WHY.kotl" hyperb:dir))
	   "Lists use cases for Hyperbole.")))
       '(ebut .
	 (("EButton>")
	  ("Act"         hui:ebut-act
	    "Activates explicit button at point or prompts for explicit button to activate.")
	  ("Create"      hui:ebut-create                         "Add an explicit button to the current buffer.")
	  ("Delete"      hui:ebut-delete                         "Remove an explicit button from the current buffer.")
	  ("Edit"        hui:ebut-edit                           "Modify any desired button attributes.")
	  ("Help/"       (menu . ebut-help)                      "Summarize button attributes.")
	  ("Info"        (id-info "(hyperbole)Explicit Buttons") "Display manual section on explicit buttons.")
	  ("Link"        hui:ebut-link-directly                  "Insert an ebut link at point to other/another window.")
	  ("Rename"      hui:ebut-rename                         "Relabel an explicit button.")
	  ("Search"      hui:ebut-search                         "Locate and displays personally created buttons in context.")
	  ("Types"       (hui:htype-help-current-window 'actypes)
	   "Displays documentation for one or all action types used by explicit buttons.")))
       '(ebut-help .
	 (("Help on>")
	  ("BufferButs"  (hui:hbut-report -1) "Summarize all explicit buttons in buffer.")
	  ("CurrentBut"  (hui:hbut-report)    "Summarize only current button in buffer.")
	  ("OrderedButs" (hui:hbut-report 1)  "Summarize explicit buttons in lexicographically order.")))
       '(find .
         (("Find>")
	  ("GrepFiles"           hui-select-rgrep  "Show numbered line matches in all specified files.")
	  ("LocateFiles"         hypb:locate       "Locate matching file names anywhere across a system.")
	  ("MatchFileBuffers"    moccur            "Show numbered line matches for regexp in all file-based buffers.")
	  ("OccurHere"           occur             "Show numbered line matches for regexp from this buffer.")
	  ("RemoveLines"         hypb:remove-lines "Following point, remove all lines that match regexp.")
	  ("SaveLines"           hypb:save-lines   "Following point, keep only lines that match regexp.")
	  ("Web/"                (menu . web)      "Search major web sites.")))
       '(gbut .
	 (("GButton>")
	  ("Act"    gbut:act        "Activate global button by name.")
	  ("Create" hui:gbut-create "Add a global button to (gbut:file).")
	  ("Delete" hui:gbut-delete "Remove a global button from (gbut:file).")
	  ("Edit"   hui:gbut-edit   "Modify global button attributes.")
	  ("Help"   gbut:help       "Report on a global button by name.")
	  ("Info"   (id-info        "(hyperbole)Global Buttons")
	   "Display manual section on global buttons.")
	  ("Link"   hui:gbut-link-directly "Add a named global button link to point in other/another window.")
	  ("Rename" hui:gbut-rename "Rename a global button.")))
       (cons 'hywiki hui:menu-hywiki)
       '(ibut .
	 (("IButton>")
	  ("Act"            hui:ibut-act
	    "Activate implicit button at point or prompts for labeled implicit button to activate.")
	  ("Create"         hui:ibut-create
	    "Label and create an implicit button of any type.")
	  ("DeleteType"     (hui:htype-delete 'ibtypes)
	   "Delete specified implicit button type.")
	  ("Edit"           hui:ibut-edit "Edit/modify named implicit button attributes.")
	  ("Help"           hkey-help "Report on button's attributes.")
	  ("Info"           (id-info "(hyperbole)Implicit Buttons")
	   "Display manual section on implicit buttons.")
	  ("Link"           hui:ibut-link-directly "Insert an ibut link at point to other/another window.")
	  ("Name"           hui:ibut-label-create
	   "Create an implicit button label preceding an existing implicit button at point, if any.")
	  ("Rename"         hui:ibut-rename
	   "Modify a label preceding an implicit button in the current buffer.")
	  ("Types"          (hui:htype-help 'ibtypes 'no-sort)
	   "Display documentation for one or all implicit button types.")))
       '(kotl
	 . (("Kotl>")
	    ("All"       kotl-mode:show-all        "Expand all collapsed cells.")
	    ("Blanks"    kvspec:toggle-blank-lines "Toggle blank lines between cells on or off.")
	    ("Create"    kfile:find                "Create or edit an outline file.")
	    ("Downto"    kotl-mode:hide-sublevels  "Hide all cells in outline deeper than a particular level.")
	    ("Examp"     kotl-mode:example         "Display a self-descriptive example outline file.")
	    ("Format/"   (menu . kotl-format)      "Import/Export Koutlines.")
	    ("Hide"      (progn (kotl-mode:is-p)
				(kotl-mode:hide-tree (kcell-view:label)))
	     "Collapse tree rooted at point.")
	    ("Info"
	     (id-info "(hyperbole)Koutliner")
	     "Display manual section on Hyperbole Koutliner.")
	    ("Kill"      kotl-mode:kill-tree
	     "Kill ARG following trees starting from point.")
	    ("Link"      klink:create
	     "Create and insert an implicit link at point.")
	    ("Overvw"    kotl-mode:overview
	     "Show first line of each cell.")
	    ("Show"      (progn (kotl-mode:is-p)
				(kotl-mode:show-tree (kcell-view:label)))
	     "Expand tree rooted at point.")
	    ("Top"       kotl-mode:top-cells
	     "Hide all but top-level cells.")
	    ("Vspec"     kvspec:activate
	     "Prompt for and activate a view specifiction.")))
       '(kotl-format .
	 (("Format>")
	    ("Display-in-Browser"      kexport:display  "Export and display current Koutline in default web browser")
            ("File-Import-to-Koutline" kimport:file     "Import a buffer/file into a new or existing Koutline.")
	    ("Html-Export-Other"       kexport:html     "Prompt for a Koutline buffer/file and output HTML file; export it.")
	    ("Koutline-Export-to-Html" kexport:koutline "Export current Koutline and save as an HTML file for web usage.")))
       '(msg .
	 (("Msg>")
	  ("Compose-Hypb-Mail"
	   (hmail:compose "hyperbole-users@gnu.org" '(hact 'hyp-config))
	   "Send a message to the Hyperbole discussion list.")
	  ("Join-Hypb-List"
	   (hmail:compose "hyperbole-users-join@gnu.org" nil
			  "Just send the message; subject and body are ignored.")
	   "Subscribe to the Hyperbole discussion list.")
	  ("Leave-Hypb-List"
	   (hmail:compose "hyperbole-users-leave@gnu.org" nil
			  "Just send the message; subject and body are ignored.")
	   "Unsubscribe from the Hyperbole discussion list.")
	  ("Report-Hypb-Bug"
	   (hmail:compose "bug-hyperbole@gnu.org" '(hact 'hyp-config))
	   "Send a message to the Hyperbole bug reporting list.")
	  ("Subscribe-Hypb-Bug"
	   (hmail:compose "bug-hyperbole-join@gnu.org" nil
			  "Just send the message; subject and body are ignored.")
	   "Subscribe to the Hyperbole bug reporting list.")
	  ("Unsub-Hypb-Bug"
	   (hmail:compose "bug-hyperbole-leave@gnu.org" nil
			  "Just send the message; subject and body are ignored.")
	   "Unsubscribe from the Hyperbole bug reporting list.")))
       (cons 'hyrolo hui:menu-rolo)
       '(screen .
	 (("Screen>")
	  ("FramesControl"    hycontrol-enable-frames-mode
	   "Interactively delete, jump to, move, replicate, and resize frames.")
	  ("WindowsControl"   hycontrol-enable-windows-mode
	   "Interactively delete, jump to, rebalance, resize, and split windows.")))
       ;; (cons 'to hui:menu-to)
       '(types .
	 (("Types>")
	  ("ActionTypes"      (hui:htype-help-current-window 'actypes)
	   "Displays documentation for one or all action types.")
	  ("IButType"        (hui:htype-help-current-window 'ibtypes 'no-sort)
	   "Display documentation for one or all implicit button types.")))
       '(win .
	 (("WinConfig>")
	  ("AddName"          hywconfig-add-by-name     "Name current window configuration.")
	  ("DeleteName"       hywconfig-delete-by-name  "Delete named window configuration.")
	  ("RestoreName"      hywconfig-restore-by-name "Restore frame to window configuration given by name.")
	  ("PopRing"          hywconfig-delete-pop-continue
	   "Restore window configuration from ring and removes it from ring.")
	  ("SaveRing"         (hywconfig-ring-save)
	   "Save current window configuration to ring.")
	  ("YankRing"         hywconfig-yank-pop-continue
	   "Restore next window configuration from ring.")))
       (hui:menu-web-search)))))