Function: smart-outline
smart-outline is an interactive and byte-compiled function defined in
hui-mouse.el.
Signature
(smart-outline)
Documentation
Collapse, expand, and move outline entries.
Invoked via a key press when in outline-mode. It assumes that
its caller has already checked that the key was pressed in an appropriate
buffer and has moved the cursor to the selected buffer.
If key is pressed:
(1) after an outline heading has been cut via the Action Key, then paste the
cut heading at point;
(2) at the end of buffer, show all buffer text
(3) at the beginning of a heading line, cut the headings subtree from the
buffer;
(4) on a heading line but not at the beginning or end, if headings subtree is
hidden then show it, otherwise hide it;
(5) at the end of a line, invoke action-key-eol-function, typically to
scroll up a windowful.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hui-mouse.el
(defun smart-outline ()
"Collapse, expand, and move outline entries.
Invoked via a key press when in `outline-mode'. It assumes that
its caller has already checked that the key was pressed in an appropriate
buffer and has moved the cursor to the selected buffer.
If key is pressed:
(1) after an outline heading has been cut via the Action Key, then paste the
cut heading at point;
(2) at the end of buffer, show all buffer text
(3) at the beginning of a heading line, cut the headings subtree from the
buffer;
(4) on a heading line but not at the beginning or end, if headings subtree is
hidden then show it, otherwise hide it;
(5) at the end of a line, invoke `action-key-eol-function', typically to
scroll up a windowful."
(interactive)
(cond (smart-outline-cut
(setq smart-outline-cut nil) (yank))
((smart-eobp) (outline-show-all))
((and (bolp) (looking-at outline-regexp))
(setq smart-outline-cut t)
(kill-region
(point)
(or (outline-get-next-sibling)
;; Skip past start of current entry
(progn (re-search-forward outline-regexp nil t)
(smart-outline-to-entry-end t)))))
((eolp)
(funcall action-key-eol-function))
((zerop (smart-outline-level))
nil)
;; On an outline heading line but not at the start/end of line.
((smart-outline-subtree-hidden-p)
(outline-show-subtree))
(t (outline-hide-subtree))))