Sto cercando di capire come funzionano le tabelle di sintassi, ma la mia modalità principale minima non evidenzia nulla.
Ho scritto il seguente elisp, che dovrebbe solo evidenziare i commenti:
(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)
Tuttavia, dato un file:
# foo
# bar
baz
Se attivo la mia modalità principale con M-x my-yaml-mode, non ricevo alcuna evidenziazione. C-u C-x =mostra che non sono stati applicati volti.
M-;è associato a comment-dwimnewcomment.el, che utilizza comment-startanziché la tabella di sintassi. AIUI.
#e premere C-u C-x =, l'output dovrebbe contenere la linea syntax: < which means: comment.
font-lock-modenel my-yaml-modebuffer. :)
M-;in modo corretto inserire una#? In caso affermativo, viene applicata la tabella della sintassi. È necessario esaminare le specifiche di blocco dei caratteri per ottenere l'evidenziazione della sintassi.