2

Я пытаюсь добавить пользовательский заголовок в программный режим и хочу, чтобы он был на самом высоком уровне и переместил все остальные уровни вниз, чтобы я мог добавить больше структуры в свой длинный скрипт. Например, для режима 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\\)\\)\\)\\_>"

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

0