J'essaie de comprendre comment fonctionnent les tables de syntaxe, mais mon mode majeur minimal ne met rien en évidence.
J'ai écrit l'élisp suivant, qui est juste censé mettre en évidence les commentaires:
(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)
Cependant, étant donné un fichier:
# foo
# bar
baz
Si j'active mon mode principal avec M-x my-yaml-mode
, je n'obtiens aucun surlignage. C-u C-x =
montre qu'aucun visage n'a été appliqué.
M-;
est lié à comment-dwim
newcomment.el, qui utilise comment-start
plutôt que la table de syntaxe. AIUI.
#
et appuyer sur C-u C-x =
, la sortie doit contenir la ligne syntax: < which means: comment
.
font-lock-mode
dans votre my-yaml-mode
tampon. :)
M-;
correctement un#
? Si oui, la table de syntaxe est appliquée. Vous devriez examiner les spécifications de verrouillage de police pour obtenir la coloration syntaxique.