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-dwim
newcomment.el gebunden , das comment-start
anstelle der Syntaxtabelle verwendet . AIUI.
#
und drücken C-u C-x =
, die Ausgabe sollte die Linie enthalten syntax: < which means: comment
.
font-lock-mode
den my-yaml-mode
Puffer einschalten. :)
M-;
richtig ein#
? Wenn ja, wird die Syntaxtabelle angewendet. Sie sollten sich die Spezifikationen für die Schriftsperre ansehen, um die Syntax hervorzuheben.