как установить уровни заголовков outline-minor-mode в outline-regexp

как установить уровни заголовков outline-minor-mode в outline-regexp

Я пытаюсь добавить пользовательский заголовок в режим программирования, и я хочу, чтобы он был на самом высоком уровне и сдвинул все остальные уровни вниз, чтобы я мог добавить больше структуры в мой длинный скрипт. Например, для режима python формат заголовка - "# *", количество звезд определяет его уровень. Мой подход - изменить переменную outline-regexp, добавив хук вроде этого.

(defun my_heading()
"custom heading for all prog mode"
(setq outline-regexp (concat "\\(?:" comment-start " [*]\\{1,8\\}\\)?" outline-regexp)))
(add-hook 'outline-minor-mode-hook 'my_heading)

В идеале, чем меньше совпадение, тем выше уровень заголовка. Но вышесказанное не работает. Если я заменю его следующим, оно тоже не работает.

(setq outline-regexp (concat comment-start " [*]\\{1,8\\}\\|" outline-regexp)))

Значение исходного outline-regexp для режима Python:

"[[:space:]]*\\_<\\(?:\\(?:class\\|def\\|e\\(?:l\\(?:if\\|se\\)\\|xcept\\)\\|f\\(?:inally\\|or\\)\\|if\\|try\\|w\\(?:hile\\|ith\\)\\)\\)\\_>"

Может кто-нибудь подскажет, как мне достичь своей цели? Заранее спасибо.

Связанный контент