Hyperbole Buttons

Created: 2020-09-22T01:52:51+00:00

Return to the Index

1. "Buttons" are a way to associate some kind of text with some
emacs lisp to run.

1a. You move the caret over text and press an "action key" to
trigger whatever a button does.

1b. "implicit" buttons involve attaching a regexp matcher to a
list. Each matcher in the list are tried and if they match
some text, they run some lisp.

1b1. An example of an implied button is "<@ 1a>" which means to
match outline item 1a in the current file. Another is
"bug#800815" which might launch a web browser or download
an emacs buffer showing details of a particular bug.

1b2. By default hyperbole also turns identifiers in programming
modes to buttons; when pressed it looks the identifier up
in the nearest tags file.

1c. "explicit" buttons are text that show up "<( like this )>"

1c1. there are button files for each user and also optionally
in each directory that associate some text with one of
these button names.

1d. "global" buttons are named macros, basically. These get
activated through some menu or keystroke and then mentioned
by name.

2. mutiple kinds of links

2a. you can link directly to koutline nodes, you can link to
particular files, you can also link to specific rows inside a
named text file. you can link to text searches within
specific files (ex. for when contents moves around and you
can't leave anchors in the file to link to.)