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-dwim
newcomment.el, che utilizza comment-start
anziché la tabella di sintassi. AIUI.
#
e premere C-u C-x =
, l'output dovrebbe contenere la linea syntax: < which means: comment
.
font-lock-mode
nel my-yaml-mode
buffer. :)
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.