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