
Ich versuche, dem Programmiermodus eine benutzerdefinierte Überschrift hinzuzufügen. Ich möchte, dass sie auf der höchsten Ebene ist und alle anderen Ebenen nach unten verschoben werden, damit ich meinem langen Skript mehr Struktur verleihen kann. Im Python-Modus ist das Überschriftenformat beispielsweise „# *“, die Anzahl der Sterne bestimmt die Ebene. Mein Ansatz besteht darin, die Variable „outline-regexp“ zu ändern, indem ich einen Hook wie diesen hinzufüge.
(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)
Im Idealfall gilt: Je kleiner die Übereinstimmung, desto höher die Überschriftenebene. Aber das obige funktioniert nicht. Wenn ich es durch das Folgende ersetze, funktioniert es auch nicht.
(setq outline-regexp (concat comment-start " [*]\\{1,8\\}\\|" outline-regexp)))
Der Wert des ursprünglichen Outline-Regexp für den Python-Modus ist
"[[:space:]]*\\_<\\(?:\\(?:class\\|def\\|e\\(?:l\\(?:if\\|se\\)\\|xcept\\)\\|f\\(?:inally\\|or\\)\\|if\\|try\\|w\\(?:hile\\|ith\\)\\)\\)\\_>"
Kann mir bitte jemand sagen, wie ich mein Ziel erreichen kann? Vielen Dank im Voraus.