outline-regexp で outline-minor-mode の見出しレベルを設定する方法

outline-regexp で outline-minor-mode の見出しレベルを設定する方法

プログラム モードにカスタム見出しを追加しようとしています。この見出しを最高レベルにし、他のすべてのレベルを下に移動して、長いスクリプトにさらに構造を追加したいと考えています。たとえば、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)))

Pythonモードの元のアウトライン正規表現の値は

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

どうすれば目標を達成できるか誰か教えていただけませんか?よろしくお願いします。

関連情報