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-dwimnewcomment.el, qui utilise comment-startplutô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-modedans votre my-yaml-modetampon. :)
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.