Configuring mode-specific outline-regexp for outline-minor-mode
Heime <[email protected]> Sat, 04 Jul 2026 23:51:13 +0000
| Newsgroups | gmane.emacs.help |
|---|---|
| Message-ID | <IAbO96MJWKQHrzke9oxgK4VNT6qaPe8fjDcFPcPR_77pOsaS7mJgxuc-LJ72wAtBYIaQFjxV3eky0C5qHJDGCqWQyI9W6-93vnO5jafwNxc=@protonmail.com> |
I am constructing outline-regexp for outline-minor-mode based
upon the comment character. But wonder whether I should specify
the regexp specifically for each major mode, rather than relying
on the generic comment start.
How would I activate outline-minor-mode for the loaded mode and
associate the corresponding outline-regexp?
(defun kronaire-levels (n &optional tag method)
(let ( (prefix (if (= (length comment-start) 1)
;; Single character comment start
(make-string 3 (string-to-char comment-start))
;; Multiple character comment start
comment-start))
(tag (if tag (format "%s" tag) "")) )
(cl-loop for i from 1 to n
collect (cons (format "%s %s%d%s%s" prefix "<" i ">" tag) i))))
(defun kronaire-regexp ()
(interactive)
(let ( (hrkl (kronaire-levels 8)) )
(when hrkl
(setq outline-regexp
(concat (regexp-opt (mapcar 'car hrkl)) "\\>"))
(setq outline-heading-alist hrkl)
(setq-local outline-level 'outline-level)
(outline-minor-mode 0)
(outline-minor-mode 1)) ))