Ich versuche zu verstehen, wie Syntaxtabellen funktionieren, aber mein minimaler Hauptmodus hebt nichts hervor.
Ich habe das folgende Elisp geschrieben, das nur Kommentare hervorheben soll:
(defconst my-yaml-mode-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?# "<" table)
(modify-syntax-entry ?\n ">" table)
table)
"Syntax table for `my-yaml-mode'.")
(define-derived-mode my-yaml-mode fundamental-mode "My YAML"
"testing"
:syntax-table my-yaml-mode-syntax-table)
Allerdings gegeben eine Datei:
# foo
# bar
baz
Wenn ich meinen Hauptmodus mit aktiviere M-x my-yaml-mode, bekomme ich keine Hervorhebung. C-u C-x =zeigt, dass keine Gesichter angewendet wurden.
M-;ist an comment-dwimnewcomment.el gebunden , das comment-startanstelle der Syntaxtabelle verwendet . AIUI.
#und drücken C-u C-x =, die Ausgabe sollte die Linie enthalten syntax: < which means: comment.
font-lock-modeden my-yaml-modePuffer einschalten. :)
M-;richtig ein#? Wenn ja, wird die Syntaxtabelle angewendet. Sie sollten sich die Spezifikationen für die Schriftsperre ansehen, um die Syntax hervorzuheben.