Estoy tratando de entender cómo funcionan las tablas de sintaxis, pero mi modo mayor mínimo no resalta nada.
He escrito el siguiente elisp, que se supone que resalta los comentarios:
(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)
Sin embargo, dado un archivo:
# foo
# bar
baz
Si activo mi modo mayor con M-x my-yaml-mode
, no obtengo ningún resaltado. C-u C-x =
muestra que no se han aplicado caras.
M-;
está vinculado a comment-dwim
newcomment.el, que utiliza en comment-start
lugar de la tabla de sintaxis. AIUI
Hm, de verdad, lo siento. En su lugar, puede colocar el punto en ay
—
T. Verron
#
presionar C-u C-x =
, la salida debe contener la línea syntax: < which means: comment
.
De hecho lo hace! Entonces, si mi tabla de sintaxis es correcta y se está aplicando, ¿por qué no hay ningún resaltado?
—
Wilfred Hughes
Después de probar con su código, es simplemente una cuestión de encender
—
T. Verron
font-lock-mode
su my-yaml-mode
búfer. :)
M-;
Inserta correctamente un#
? En caso afirmativo, se aplica la tabla de sintaxis. Debe buscar en las especificaciones de bloqueo de fuente para obtener resaltado de sintaxis.