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)) ))