Function: hywiki-word-highlight-post-self-insert
hywiki-word-highlight-post-self-insert is a byte-compiled function
defined in hywiki.el.
Signature
(hywiki-word-highlight-post-self-insert)
Documentation
Turn any HyWikiWords around point into highlighted Hyperbole buttons.
Triggered by post-self-insert-hook after self-inserting one or
more characters while the command is still executing. The
post-command-hook runs later after the command has finished.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hywiki.el
(defun hywiki-word-highlight-post-self-insert ()
"Turn any HyWikiWords around point into highlighted Hyperbole buttons.
Triggered by `post-self-insert-hook' after self-inserting one or
more characters while the command is still executing. The
`post-command-hook' runs later after the command has finished."
;; (when ert--running-tests
;; (message "Running post-self-insert-hook..."))
(unless (or (hywiki-ignore-command-hooks-p)
(hywiki-non-hook-context-p))
(setq hywiki--range nil)
;; Dehighlight any previously highlighted WikiWord at point
;; before we move to the start of any current WikiWord and
;; rehighlight that.
(hywiki--maybe-dehighlight-at-point))
(save-excursion
(cond ((marker-position hywiki--buttonize-start)
;; Point was before or after a WikiWord delimiter
(goto-char hywiki--buttonize-start)
(skip-chars-backward "-" (line-beginning-position))
(goto-char (1- (point))))
((not (equal (setq hywiki--range (hywiki-highlight-word-get-range))
'(nil nil nil)))
(cl-destructuring-bind (_ start end)
hywiki--range
(if (and start end)
(progn
;; On a non-delimited HyWikiWord
(set-marker hywiki--buttonize-start start)
(set-marker hywiki--buttonize-end end)
(goto-char start)
(skip-chars-backward "-" (line-beginning-position))
t)
(setq hywiki--range nil))))
((not (member (setq hywiki--range (hywiki-at-range-delimiter))
'(nil nil)))
;; At delimiters surrounding a WikiWord
(let ((start (nth 0 hywiki--range))
(end (nth 1 hywiki--range)))
(when (and start end)
;; Use these to store any range of a delimited HyWikiWord#section
(set-marker hywiki--buttonize-start (1+ start))
(set-marker hywiki--buttonize-end (1- end))))))
(unless (hywiki-non-hook-context-p)
;; This first rehighlighting is needed to ensure
;; any wikiword before an inserted whitespace character is
;; properly highlighted when separating two words or after a
;; closing delimiter.
(save-excursion
(goto-char (max (1- (point)) (point-min)))
(hywiki--maybe-rehighlight-at-point))
(hywiki--maybe-rehighlight-at-point))))