diff --git a/install-test/install-test.sh b/install-test/install-test.sh index e2448cfd..93d1413b 100755 --- a/install-test/install-test.sh +++ b/install-test/install-test.sh @@ -40,4 +40,7 @@ else fi # Debug - after install -[[ -n "$debug" ]] && bash +if [[ -n "$debug" ]] +then + bash +fi diff --git a/man/hy-package.el b/man/hy-package.el deleted file mode 100644 index 0e51d47a..00000000 --- a/man/hy-package.el +++ /dev/null @@ -1,100 +0,0 @@ -;;; hy-package.el --- Hyperbole package.el installation and configuration instructions -*- lexical-binding: t; -*- -;; -;; Author: Bob Weiner -;; -;; Orig-Date: 15-Jul-26 at 12:28:58 -;; Last-Mod: 25-Jul-26 at 22:25:11 by Mats Lidell -;; -;; SPDX-License-Identifier: GPL-3.0-or-later -;; -;; Copyright (C) 2026 Free Software Foundation, Inc. -;; See the "../HY-COPY" file for license information. -;; -;; This file is part of GNU Hyperbole. - -;;; ************************************************************************ -;;; Requirements -;;; ************************************************************************ - -(require 'package) - -;;; ************************************************************************ -;;; Section 1: package.el setup -;;; ************************************************************************ - -;;; ======================================================================== -;;; NOTE: This section is only if you have not yet setup the package.el -;;; package manager. If you have, ignore this and skip to "#Section 2" -;;; for the Hyperbole `use-package' recipe. -;;; ======================================================================== - -;; Step 1: Add the function definition below near the top of your -;; "~/.emacs" or "~/.emacs.d/early-init.el" file. - -;; Step 2: Add a call to the function below its definition: -;; (setup-package) - -(defun setup-package () - (require 'package) - (setq package-enable-at-startup nil) ;; Prevent double loading of libraries - (add-to-list 'package-archives - ;; Leave only one of the following two lines uncommented - '("elpa-devel" . "https://elpa.gnu.org/devel/")) - ;; '("elpa" . "https://elpa.gnu.org/packages/")) - (unless (and (boundp 'package--initialized) package--initialized) - (package-initialize)) - ;; To ensure you have the latest index of packages, you'll have to - ;; uncomment the next line. It is commented because retrieving the - ;; list is slow. - ;; (package-refresh-contents) - ) - -;;; ************************************************************************ -;;; Section 2: package.el Hyperbole installation and configuration -;;; ************************************************************************ - -;; Step 1: Add the following expression to your "~/.emacs" or -;; "~/.emacs.d/init.el" file. - -(use-package hyperbole - - ;; ensure Hyperbole is installed - :ensure t - - ;; Initialize the global HyWiki minor mode to one of these values: - ;; :all - highlights and makes HyWikiWord links active in - ;; all text and programming buffer comments - ;; :pages - highlights and makes HyWikiWord links active in - ;; only within HyWiki page buffers - ;; nil - leaves HyWiki mode disabled. - :config - (progn - ;; Older Hyperbole releases do not have HyWiki - (when (fboundp 'hywiki-mode) - (hywiki-mode :all)) - - ;; Initialize the global Hyperbole minor mode to one of these values: - ;; 1 - enabled on startup so the Action and Assist Smart Keys are active - ;; 0 - off until you toggle it on - ;; If you left hywiki-mode enabled above, that enables hyperbole-mode too. - (unless (and (fboundp 'hywiki-mode) hywiki-mode) - (hyperbole-mode 1))) - - :bind - (("M-RET" . hkey-either) - ;; Uncomment the next binding if you want to emulate Hyperbole mouse drag - ;; events from your keyboard. - ;; See "https://www.gnu.org/s/hyperbole/man/hyperbole.html#Keyboard-Drags". - ;; ("M-o" . hkey-operate) - ) - - ;; Customize how Hyperbole and Org mode share the M-RET key: - ;; t - With hyperbole-mode enabled, Hyperbole controls the key - ;; 'buttons - With hyperbole-mode enabled, Hyperbole controls the key - ;; only when on a button or link; otherwise, Org controls it - ;; nil - In Org mode, Org controls the key - :custom - (hsys-org-enable-smart-keys t) - ) - -;;; End diff --git a/man/hy-straight.el b/man/hy-straight.el deleted file mode 100644 index 69aee1cb..00000000 --- a/man/hy-straight.el +++ /dev/null @@ -1,78 +0,0 @@ -;;; hy-straight.el --- Hyperbole Straight installation and configuration instructions -*- lexical-binding: t; -*- -;; -;; Author: Bob Weiner -;; -;; Orig-Date: 15-Jul-26 at 12:28:58 -;; Last-Mod: 25-Jul-26 at 22:25:45 by Mats Lidell -;; -;; SPDX-License-Identifier: GPL-3.0-or-later -;; -;; Copyright (C) 2026 Free Software Foundation, Inc. -;; See the "../HY-COPY" file for license information. -;; -;; This file is part of GNU Hyperbole. - -;;; ************************************************************************ -;;; Section 1: Straight setup -;;; ************************************************************************ - -;;; ======================================================================== -;;; NOTE: This section is only if you have not yet setup the Straight -;;; package manager. If you have, ignore this and skip to "#Section 2" -;;; for the Hyperbole `straight-use-package' recipe. -;;; ======================================================================== - -;; Step 1: Add the function definition below near the top of your -;; "~/.emacs" or "~/.emacs.d/early-init.el" file. - -;; Step 2: Add a call to the function below its definition: -;; (setup-straight) - -(defun setup-straight () - (when (< emacs-major-version 28) - (error "Hyperbole requires Emacs 28 or above, not %d" - emacs-major-version)) - (defvar bootstrap-version) - - ;; Prevent double loading of libraries - (setq package-enable-at-startup nil) - - (let ((bootstrap-file - (expand-file-name "straight/repos/straight.el/bootstrap.el" - user-emacs-directory)) - (bootstrap-version 5)) - (unless (file-exists-p bootstrap-file) - (with-current-buffer - (url-retrieve-synchronously - "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" - 'silent 'inhibit-cookies) - (goto-char (point-max)) - (eval-print-last-sexp))) - (load bootstrap-file nil 'nomessage))) - -;;; ************************************************************************ -;;; Section 2: Straight Hyperbole installation and configuration -;;; ************************************************************************ - -;; Step 1: Add the following expression to your "~/.emacs" or -;; "~/.emacs.d/init.el" file. - -(straight-use-package - '(hyperbole - :host nil - - :repo "https://git.savannah.gnu.org/git/hyperbole.git" - - :config - (progn - (hywiki-mode :all) - (unless hywiki-mode - (hyperbole-mode 1))) - - :bind - (("M-RET" . hkey-either)) - - :custom - (hsys-org-enable-smart-keys t))) - -;;; End diff --git a/man/hyperbole.html b/man/hyperbole.html index ccdeeee0..15dadf5e 100644 --- a/man/hyperbole.html +++ b/man/hyperbole.html @@ -1,10 +1,10 @@ - +
- + @@ -361,10 +358,8 @@This edition of the GNU Hyperbole Manual is for use with any version @@ -775,17 +768,15 @@
Hyperbole is an efficient, programmable hypertextual information management @@ -882,10 +873,8 @@
Database vendors apply tremendous resources to help solve corporate @@ -923,10 +912,8 @@
If you use Hyperbole, you may join the mailing list @@ -1184,10 +1169,8 @@
Once Hyperbole has been installed for use at your site, loaded into your @@ -1197,16 +1180,14 @@
You can invoke Hyperbole’s commands in one of three ways: @@ -1230,16 +1211,22 @@
{C-h h} enables Hyperbole if it has been disabled and displays a -Hyperbole menu in the minibuffer for quick keyboard or mouse-based -selection. Select an item from this menu by typing the item’s first -capital letter. Use {Q} (note this is capitalized) to quit from -the minibuffer menu while leaving Hyperbole enabled. Use {X} -(note this is capitalized) to quit from the minibuffer menu and -disable Hyperbole’s minor mode. + +
{C-h h} enables Hyperbole if it has been disabled and displays +the top-level Hyperbole menu in the minibuffer for quick keyboard or +mouse-based selection. Within any Hyperbole minibuffer menu, select +an item by typing the item’s first capital letter. Use {Q} (note +this is capitalized) to quit from the minibuffer menu while leaving +Hyperbole enabled. Use {X} (note this is capitalized) to quit +from the minibuffer menu and disable Hyperbole’s minor mode. Use +{?} to get help on all of the items in the current menu. A +second {?} will hide this help.
Use {C-h h d d} for an interactive demonstration of standard Hyperbole button capabilities. @@ -1262,10 +1249,8 @@
Typically, {C-h A} and {C-u C-h A} which show Action and @@ -1757,10 +1730,8 @@
Smart Mouse Key clicks on a window’s modeline offer many powerful browsing @@ -1994,10 +1963,8 @@
Smart Mouse Key drags let you display buffers and windows however you want @@ -2138,18 +2095,16 @@
Explicit buttons are a fundamental building block for creating personal @@ -4292,20 +4219,18 @@
Creating explicit buttons is fun and easy. You can always try them out @@ -4326,16 +4251,14 @@
The top-level Hyperbole minibuffer menu is invoked from a key given in your -hyperbole.el file (by default, {C-h h}) or with a click -of the Action Mouse Key in the minibuffer when it is inactive. It should -look like this: +
The top-level Hyperbole minibuffer menu is invoked from a key given in
+your use-package configuration or if not specified, defaults to
+{C-h h}). A click of the Action Mouse Key in the minibuffer when
+it is inactive will also bring up this menu and continued clicks
+select items. Use {?} to toggle showing/hiding help for all of
+the current menu items.
+
The minibuffer menu should look like this:
Hy> Act Butfile/ Cust/ Doc/ Ebut/ Find/ Gbut/ HyWiki/ Ibut/ Kotl/ Msg/ Rolo/ Screen/ @@ -4828,7 +4737,7 @@5 Menus - + @@ -5087,10 +4996,8 @@
5 Menus - +
6 HyWiki ¶
@@ -5121,17 +5028,15 @@6 HyWiki -
HyWikiWords -HyWiki Mode -Publishing a HyWiki -HyWiki Menu +HyWikiWords +HyWiki Mode +Publishing a HyWiki +HyWiki Menu
- +6.1 HyWikiWords ¶
@@ -5154,17 +5059,15 @@6.1 HyWikiWords -
Creating HyWikiWords -HyWikiWord Specs -HyWikiWord Referent Types -Using HyWikiWords +Creating HyWikiWords +HyWikiWord Specs +HyWikiWord Referent Types +Using HyWikiWords
- +6.1.3 HyWikiWord Referent Types ¶
HyWikiWords link to HyWiki pages by default. But there are many other @@ -5241,10 +5140,8 @@
6.1.3 HyWikiWord R
- +6.2 HyWiki Mode ¶
@@ -5416,10 +5311,8 @@6.2 HyWiki Mode - +
6.3 Publishing a HyWiki ¶
@@ -5466,10 +5359,8 @@6.3 Publishing a HyWiki
- +6.4 HyWiki Menu ¶
The HyWiki minibuffer menu at {C-h h h} offers quick access to important HyWiki features. @@ -5815,10 +5706,8 @@
6.4 HyWiki Menu - +
7 HyNote ¶
@@ -5846,10 +5735,8 @@7 HyNote - +
8 HyControl ¶
@@ -6400,10 +6287,8 @@8 HyControl
- +9 Koutliner ¶
@@ -6446,22 +6331,20 @@9 Koutliner -
Menu Commands -Creating Outlines -Autonumbering -Idstamps -Editing Outlines -Viewing Outlines -Klinks -Cell Attributes -Koutliner History +Menu Commands +Creating Outlines +Autonumbering +Idstamps +Editing Outlines +Viewing Outlines +Klinks +Cell Attributes +Koutliner History
- +9.1 Menu Commands ¶
The Kotl/ menu entry on the Hyperbole minibuffer menu provides access to @@ -6520,10 +6403,8 @@
9.1 Menu Commands - +
9.2 Creating Outlines ¶
@@ -6557,10 +6438,8 @@9.2 Creating Outlines
- +9.3 Autonumbering ¶
@@ -6636,10 +6515,8 @@9.3 Autonumbering - +
9.4 Idstamps ¶
@@ -6669,10 +6546,8 @@9.4 Idstamps
- +9.5 Editing Outlines ¶
Text editing within the Koutliner works just as it does for other @@ -6695,22 +6570,20 @@
9.5 Editing Outlines -
Adding and Killing -Promoting and Demoting -Relocating and Copying -Moving Around -Filling -Transposing -Splitting and Appending -Inserting and Importing -Exporting +Adding and Killing +Promoting and Demoting +Relocating and Copying +Moving Around +Filling +Transposing +Splitting and Appending +Inserting and Importing +Exporting
- +9.5.4 Moving Around ¶
@@ -7015,10 +6882,8 @@9.5.4 Moving Around - +
9.5.5 Filling ¶
@@ -7062,10 +6927,8 @@9.5.5 Filling - +
9.5.6 Transposing ¶
The Koutliner move and copy commands rearrange entire trees. The @@ -7096,10 +6959,8 @@
9.5.6 Transposing - +
9.5.7 Splitting and Appending ¶
@@ -7130,10 +6991,8 @@9.5.7 Splitting and
- +9.5.9 Exporting ¶
@@ -7267,10 +7124,8 @@9.5.9 Exporting - +
9.6 Viewing Outlines ¶
@@ -7280,15 +7135,13 @@9.6 Viewing Outlines -
Hiding and Showing -View Specs +Hiding and Showing +View Specs
- +9.6.2 View Specs ¶
@@ -7494,10 +7345,8 @@9.6.2 View Specs - +
9.7 Klinks ¶
@@ -7636,10 +7485,8 @@9.7 Klinks
- +9.8 Cell Attributes ¶
@@ -7721,10 +7568,8 @@9.8 Cell Attributes - +
9.9 Koutliner History ¶
@@ -7754,10 +7599,8 @@9.9 Koutliner History
- +10 HyRolo ¶
@@ -7782,18 +7625,16 @@10 HyRolo -
HyRolo Concepts -Rolo Menu -HyRolo Searching -HyRolo Keys -HyRolo Settings +HyRolo Concepts +Rolo Menu +HyRolo Searching +HyRolo Keys +HyRolo Settings
- +10.1 HyRolo Concepts ¶
@@ -7881,10 +7722,8 @@10.1 HyRolo Concepts - +
10.2 Rolo Menu ¶
The Rolo submenu of the Hyperbole menu offers a full set of commands @@ -7989,10 +7828,8 @@
10.2 Rolo Menu
- +10.4 HyRolo Keys ¶
@@ -8271,10 +8106,8 @@10.4 HyRolo Keys - +
10.5 HyRolo Settings ¶
@@ -8443,10 +8276,8 @@10.5 HyRolo Settings - +
11 Window Configurations ¶
@@ -8547,10 +8378,8 @@11 Window Configurations<
- +12 Developing with Hyperbole ¶
This chapter is for people who wish to customize Hyperbole, to extend @@ -8562,18 +8391,16 @@
12 Developing with Hy
-
- Hook Variables
-- Creating Types
-- Explicit Button Technicalities
-- Encapsulating Systems
-- Embedding Hyperbole
+- Hook Variables
+- Creating Types
+- Explicit Button Technicalities
+- Encapsulating Systems
+- Embedding Hyperbole
- +12.1 Hook Variables ¶
@@ -8710,10 +8537,8 @@12.1 Hook Variables - +
12.2 Creating Types ¶
@@ -8746,15 +8571,13 @@12.2 Creating Types -
Creating Action Types -Creating Implicit Button Types +Creating Action Types +Creating Implicit Button Types
- +12.2.2 Creating Implicit Button Types ¶
Implicit buttons leverage the same action types used by explicit and @@ -8910,16 +8731,14 @@
12.2.2 Creati
-
- Action Button Link Types
-- Implicit Button Link Types
-- Programmatic Implicit Button Types
+- Action Button Link Types
+- Implicit Button Link Types
+- Programmatic Implicit Button Types
- +12.2.2.1 Action Button Link Types ¶
The simplest way to create a new implicit link type (from which any @@ -8977,10 +8796,8 @@
12.2.2.1 Action
- +12.2.2.2 Implicit Button Link Types ¶
If you understand Emacs regular expressions (see Syntax of @@ -9056,10 +8873,8 @@
12.2.2.2 Impli
- +12.3 Explicit Button Technicalities ¶
-
- Button Label Normalization
-- Operational and Storage Formats
-- Programmatic Button Creation
+- Button Label Normalization
+- Operational and Storage Formats
+- Programmatic Button Creation
- +Appendix A Glossary ¶
@@ -10134,10 +9935,8 @@Appendix A Glossary - +
Appendix B Setup ¶
Hyperbole must be obtained and setup at your site before you can @@ -10148,15 +9947,13 @@
Appendix B Setup
- +B.1 Installation ¶
There are multiple package managers you can use to install Hyperbole once @@ -10166,16 +9963,14 @@
B.1 Installation -
Elpa Latest or Release Package Installation (Emacs Package Manager) -Git Latest Package Installation (Straight Package Manager) -Manual Tarball Archive Installation (SFTP) +Elpa Latest or Release Package Installation (Emacs Package Manager) +Git Latest Package Installation (Straight Package Manager) +Manual Tarball Archive Installation (SFTP)
- +B.1.1 Elpa Latest or Release Package Installation (Emacs Package Manager) ¶
@@ -10226,96 +10021,45 @@-
;;; hy-package.el --- Hyperbole package.el installation and configuration instructions -*- lexical-binding: t; -*- -;; -;; Author: Bob Weiner -;; -;; Orig-Date: 15-Jul-26 at 12:28:58 -;; Last-Mod: 25-Jul-26 at 22:25:11 by Mats Lidell -;; -;; SPDX-License-Identifier: GPL-3.0-or-later -;; -;; Copyright (C) 2026 Free Software Foundation, Inc. -;; See the "../HY-COPY" file for license information. -;; -;; This file is part of GNU Hyperbole. - -;;; ************************************************************************ -;;; Requirements -;;; ************************************************************************ - -(require 'package) - -;;; ************************************************************************ -;;; Section 1: package.el setup -;;; ************************************************************************ - -;;; ======================================================================== -;;; NOTE: This section is only if you have not yet setup the package.el -;;; package manager. If you have, ignore this and skip to "#Section 2" -;;; for the Hyperbole `use-package' recipe. -;;; ======================================================================== - -;; Step 1: Add the function definition below near the top of your -;; "~/.emacs" or "~/.emacs.d/early-init.el" file. - -;; Step 2: Add a call to the function below its definition: -;; (setup-package) - -(defun setup-package () - (require 'package) - (setq package-enable-at-startup nil) ;; Prevent double loading of libraries - (add-to-list 'package-archives - ;; Leave only one of the following two lines uncommented - '("elpa-devel" . "https://elpa.gnu.org/devel/")) - ;; '("elpa" . "https://elpa.gnu.org/packages/")) - (unless (and (boundp 'package--initialized) package--initialized) - (package-initialize)) - ;; To ensure you have the latest index of packages, you'll have to - ;; uncomment the next line. It is commented because retrieving the - ;; list is slow. - ;; (package-refresh-contents) - ) - -;;; ************************************************************************ -;;; Section 2: package.el Hyperbole installation and configuration -;;; ************************************************************************ - -;; Step 1: Add the following expression to your "~/.emacs" or -;; "~/.emacs.d/init.el" file. +;;; -*- mode: emacs-lisp; lexical-binding: t; -*- (use-package hyperbole - ;; ensure Hyperbole is installed - :ensure t - - ;; Initialize the global HyWiki minor mode to one of these values: - ;; :all - highlights and makes HyWikiWord links active in - ;; all text and programming buffer comments - ;; :pages - highlights and makes HyWikiWord links active in - ;; only within HyWiki page buffers - ;; nil - leaves HyWiki mode disabled. - :config + :init (progn - ;; Older Hyperbole releases do not have HyWiki - (when (fboundp 'hywiki-mode) - (hywiki-mode :all)) - ;; Initialize the global Hyperbole minor mode to one of these values: ;; 1 - enabled on startup so the Action and Assist Smart Keys are active ;; 0 - off until you toggle it on - ;; If you left hywiki-mode enabled above, that enables hyperbole-mode too. - (unless (and (fboundp 'hywiki-mode) hywiki-mode) - (hyperbole-mode 1))) + (hyperbole-mode 1) + + ;; Initialize the global HyWiki minor mode to one of these values: + ;; :all - highlights and makes HyWikiWord links active in + ;; all text and programming buffer comments + ;; :pages - highlights and makes HyWikiWord links active in + ;; only within HyWiki page buffers + ;; nil - leaves HyWiki mode disabled. + ;; Note: If hywiki-mode is set active hyperbole-mode will be + ;; activated too. + (hywiki-mode :all)) :bind - (("M-RET" . hkey-either) - ;; Uncomment the next binding if you want to emulate Hyperbole mouse drag - ;; events from your keyboard. - ;; See "https://www.gnu.org/s/hyperbole/man/hyperbole.html#Keyboard-Drags". - ;; ("M-o" . hkey-operate) - ) + (:map hyperbole-mode-map + ;; Bind Smart Keys: {M-RET} is the Action Key; {C-u M-RET} is the + ;; Assist Key + (("M-RET" . hkey-either) + ;; Uncomment the next binding if you want to emulate Hyperbole mouse drag + ;; events from your keyboard. + ;; See "https://www.gnu.org/s/hyperbole/man/hyperbole.html#Keyboard-Drags". + ;; ("M-o" . hkey-operate) + )) + + :config + ;; Hyperbole binds {C-h h} by default in the global-map. If you + ;; prefer some other key binding to invoke the hyperbole minibuffer + ;; menu, uncomment the lines below to restore the default for {C-h + ;; h} and set your preferred binding, example {C-c h}. + ;(global-set-key (kbd "C-h h") #'view-hello-file) + ;(global-set-key (kbd "C-c h") #'hyperbole) ;; Customize how Hyperbole and Org mode share the M-RET key: ;; t - With hyperbole-mode enabled, Hyperbole controls the key @@ -10324,11 +10068,9 @@- +
B.1.2 Git Latest Package Installation (Straight Package Manager) ¶
@@ -10365,87 +10105,56 @@The Emacs Initialization File in the GNU Emacs Manual).
---;;; hy-straight.el --- Hyperbole Straight installation and configuration instructions -*- lexical-binding: t; -*- -;; -;; Author: Bob Weiner -;; -;; Orig-Date: 15-Jul-26 at 12:28:58 -;; Last-Mod: 25-Jul-26 at 22:25:45 by Mats Lidell -;; -;; SPDX-License-Identifier: GPL-3.0-or-later -;; -;; Copyright (C) 2026 Free Software Foundation, Inc. -;; See the "../HY-COPY" file for license information. -;; -;; This file is part of GNU Hyperbole. - -;;; ************************************************************************ -;;; Section 1: Straight setup -;;; ************************************************************************ - -;;; ======================================================================== -;;; NOTE: This section is only if you have not yet setup the Straight -;;; package manager. If you have, ignore this and skip to "#Section 2" -;;; for the Hyperbole `straight-use-package' recipe. -;;; ======================================================================== - -;; Step 1: Add the function definition below near the top of your -;; "~/.emacs" or "~/.emacs.d/early-init.el" file. - -;; Step 2: Add a call to the function below its definition: -;; (setup-straight) - -(defun setup-straight () - (when (< emacs-major-version 28) - (error "Hyperbole requires Emacs 28 or above, not %d" - emacs-major-version)) - (defvar bootstrap-version) - - ;; Prevent double loading of libraries - (setq package-enable-at-startup nil) - - (let ((bootstrap-file - (expand-file-name "straight/repos/straight.el/bootstrap.el" - user-emacs-directory)) - (bootstrap-version 5)) - (unless (file-exists-p bootstrap-file) - (with-current-buffer - (url-retrieve-synchronously - "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" - 'silent 'inhibit-cookies) - (goto-char (point-max)) - (eval-print-last-sexp))) - (load bootstrap-file nil 'nomessage))) - -;;; ************************************************************************ -;;; Section 2: Straight Hyperbole installation and configuration -;;; ************************************************************************ - -;; Step 1: Add the following expression to your "~/.emacs" or -;; "~/.emacs.d/init.el" file. - -(straight-use-package - '(hyperbole - :host nil - - :repo "https://git.savannah.gnu.org/git/hyperbole.git" - - :config - (progn - (hywiki-mode :all) - (unless hywiki-mode - (hyperbole-mode 1))) - - :bind - (("M-RET" . hkey-either)) - - :custom - (hsys-org-enable-smart-keys t))) - -;;; End -
+;;; -*- mode: emacs-lisp; lexical-binding: t; -*- + +(use-package hyperbole + + :init + (progn + ;; Initialize the global Hyperbole minor mode to one of these values: + ;; 1 - enabled on startup so the Action and Assist Smart Keys are active + ;; 0 - off until you toggle it on + (hyperbole-mode 1) + + ;; Initialize the global HyWiki minor mode to one of these values: + ;; :all - highlights and makes HyWikiWord links active in + ;; all text and programming buffer comments + ;; :pages - highlights and makes HyWikiWord links active in + ;; only within HyWiki page buffers + ;; nil - leaves HyWiki mode disabled. + ;; Note: If hywiki-mode is set active hyperbole-mode will be + ;; activated too. + (hywiki-mode :all)) + + :bind + (:map hyperbole-mode-map + ;; Bind Smart Keys: {M-RET} is the Action Key; {C-u M-RET} is the + ;; Assist Key + (("M-RET" . hkey-either) + ;; Uncomment the next binding if you want to emulate Hyperbole mouse drag + ;; events from your keyboard. + ;; See "https://www.gnu.org/s/hyperbole/man/hyperbole.html#Keyboard-Drags". + ;; ("M-o" . hkey-operate) + )) + + :config + ;; Hyperbole binds {C-h h} by default in the global-map. If you + ;; prefer some other key binding to invoke the hyperbole minibuffer + ;; menu, uncomment the lines below to restore the default for {C-h + ;; h} and set your preferred binding, example {C-c h}. + ;(global-set-key (kbd "C-h h") #'view-hello-file) + ;(global-set-key (kbd "C-c h") #'hyperbole) + + ;; Customize how Hyperbole and Org mode share the M-RET key: + ;; t - With hyperbole-mode enabled, Hyperbole controls the key + ;; 'buttons - With hyperbole-mode enabled, Hyperbole controls the key + ;; only when on a button or link; otherwise, Org controls it + ;; nil - In Org mode, Org controls the key + :custom + (hsys-org-enable-smart-keys t) + + ) +
Now save the file and restart Emacs. Hyperbole will then be downloaded and compiled for use with your version of Emacs; give it a minute or two. @@ -10453,10 +10162,8 @@
- +
B.1.3 Manual Tarball Archive Installation (SFTP) ¶
If you are old-school, don’t like package managers, and prefer doing @@ -10507,10 +10214,8 @@
<
- +B.2 Customization ¶
@@ -10559,22 +10264,20 @@B.2 Customization -
Referent Display -Internal Viewers -External Viewers -Link Variable Substitution -Web Search Engines -Using URLs with Find-File -Invisible Text Searches -Highlight Menu Key Toggle -Configuring Button Colors +Referent Display +Internal Viewers +External Viewers +Link Variable Substitution +Web Search Engines +Using URLs with Find-File +Invisible Text Searches +Highlight Menu Key Toggle +Configuring Button Colors
- +Appendix C Hyperbole Key Bindings ¶
@@ -10996,16 +10681,14 @@Appendix C Hyperbole Ke override Hyperbole’s defaults.
-
- Binding Minibuffer Menu Items
-- Default Hyperbole Bindings
-- Testing
+- Binding Minibuffer Menu Items
+- Default Hyperbole Bindings
+- Testing
- +C.2 Default Hyperbole Bindings ¶
Hyperbole’s default key bindings can be viewed and edited from @@ -11231,10 +10912,8 @@
C.2 Default Hyperbol
- +C.3 Testing ¶
Hyperbole includes over 660 automated test cases in the test/ @@ -11268,10 +10947,8 @@
C.3 Testing
- +Appendix E Smart Key Reference ¶
This appendix documents Hyperbole’s context-sensitive Smart Key @@ -11885,15 +11560,13 @@
Appendix E Smart Key Refer
- +E.1 Smart Mouse Keys ¶
@@ -11910,20 +11583,18 @@E.1 Smart Mouse Keys -
Minibuffer Menu Activation -Thing Selection -Side-by-Side Window Resizing -Modeline Clicks and Drags -Smart Mouse Drags between Windows -Smart Mouse Drags within a Window -Smart Mouse Drags outside a Window +Minibuffer Menu Activation +Thing Selection +Side-by-Side Window Resizing +Modeline Clicks and Drags +Smart Mouse Drags between Windows +Smart Mouse Drags within a Window +Smart Mouse Drags outside a Window
- +E.2 Smart Keyboard Keys ¶
-
- Smart Key - Company Mode
-- Smart Key - Org Mode
-- Smart Key - Ivy
-- Smart Key - Treemacs
-- Smart Key - Dired Sidebar Mode
-- Smart Key - Emacs Pushbuttons
-- Smart Key - Argument Completion
-- Smart Key - ID Edit Mode
-- Smart Key - Emacs Cross-references (Xrefs)
+- Smart Key - Company Mode
+- Smart Key - Org Mode
+- Smart Key - Ivy
+- Smart Key - Treemacs
+- Smart Key - Dired Sidebar Mode
+- Smart Key - Emacs Pushbuttons
+- Smart Key - Argument Completion
+- Smart Key - ID Edit Mode
+- Smart Key - Emacs Cross-references (Xrefs)
- Smart Key - Smart Scrolling
- Smart Key - Smart Menus
- Smart Key - Dired Mode
@@ -12323,10 +11980,8 @@E.2 Smart Keyboard Keys
- +E.2.6 Smart Key - Emacs Pushbuttons ¶
@@ -12514,10 +12159,8 @@E.2.6 Smar
- +E.2.8 Smart Key - ID Edit Mode ¶
If in ID Edit mode (a package within InfoDock, not included in @@ -12561,10 +12202,8 @@E.2.8 Smart Key
- +E.2.9 Smart Key - Emacs Cross-references (Xrefs) ¶
@@ -12579,10 +12218,8 @@- +
E.2.10 Smart Key - Smart Scrolling ¶
@@ -12621,10 +12258,8 @@E.2.10 Smart
- +E.2.11 Smart Key - Smart Menus ¶
Smart Menus are an older in-buffer menu system that worked on dumb @@ -12655,10 +12290,8 @@
E.2.11 Smart Key
- +E.2.17 Smart Key - Helm Mode ¶
Because of the way helm is written, you may need a modified version of @@ -12847,10 +12470,8 @@
E.2.17 Smart Key -
- +E.2.19 Smart Key - Occurrence Matches ¶
@@ -12910,10 +12529,8 @@E.2.19 Sm
- +E.2.20 Smart Key - The Koutliner ¶
When pressed within a Hyperbole Koutliner buffer (kotl-mode): @@ -12945,10 +12562,8 @@E.2.20 Smart K
- +E.2.24 Smart Key - Help Buffers ¶
@@ -13124,10 +12733,8 @@E.2.24 Smart Ke
- +E.2.26 Smart Key - Bookmark Mode ¶
@@ -13167,10 +12772,8 @@E.2.26 Smart K
- +E.2.27 Smart Key - Pages Directory Mode ¶
@@ -13186,10 +12789,8 @@E.2.27
- +E.2.28 Smart Key - Python Source Code ¶
When the Jedi identifier server or the OO-Browser has been loaded and the press is @@ -13217,10 +12818,8 @@E.2.28 Sm
- +E.2.32 Smart Key - Lisp Source Code ¶
@@ -13354,10 +12947,8 @@E.2.32 Smar
- +E.2.34 Smart Key - JavaScript Source Code ¶
@@ -13418,10 +13007,8 @@E.2.3
- +E.2.36 Smart Key - Fortran Source Code ¶
@@ -13487,10 +13072,8 @@E.2.36 S
- +E.2.37 Smart Key - Identifier Menu Mode ¶
@@ -13511,10 +13094,8 @@E.2.37
- +E.2.38 Smart Key - Calendar Mode ¶
@@ -13538,10 +13119,8 @@E.2.38 Smart K
- +E.2.39 Smart Key - Man Page Apropos ¶
When pressed within a man page apropos buffer or listing: @@ -13560,10 +13139,8 @@E.2.39 Smar
- +E.2.41 Smart Key - Info Manuals ¶
@@ -13642,10 +13217,8 @@E.2.41 Smart Ke
- +Appendix G Questions and Answers ¶
@@ -14269,10 +13816,8 @@
Appendix G Questions and
- +Appendix H Future Work ¶
This appendix is included for a number of reasons: @@ -14388,10 +13933,8 @@
Appendix H Future Work - +
Appendix I References ¶
@@ -14527,14 +14070,12 @@
Appendix I References - +
Key Index ¶
-