
Estoy usando js2-mode
with flyspell-prog-mode
para revisar la ortografía de comentarios y cadenas.
Cuando usas jQuery, usas selectores como $("#something")
o $('something else')
. ¿Puedo configurar flyspell para que no revise la ortografía de estas cadenas? Básicamente, cualquier cosa envuelta en $(
y )
. Manejarlo jQuery(
y )
también sería genial, pero probablemente pueda manejarlo.
Encontré esta pregunta, que es similar, pero no pude adaptarla yo mismo.¿Cómo excluir {{{... }}} en flyspell-mode y flyspell-buffer?
¡Gracias!
Respuesta1
En pocas palabras, realmente no puedes, al menos no sin un hackeo serio de flyspell y/o tu modo principal.
De la fuente del hechizo de mosca
;;;###autoload
(defun flyspell-prog-mode ()
"Turn on `flyspell-mode' for comments and strings."
(interactive)
(setq flyspell-generic-check-word-p 'flyspell-generic-progmode-verify)
(flyspell-mode 1)
(run-hooks 'flyspell-prog-mode-hook))
La línea relevante donde configuramos la flyspell-generic-check-word-p
función para flyspell-generic-progmode-verify
esa función se ve así
(defun flyspell-generic-progmode-verify ()
"Used for `flyspell-generic-check-word-p' in programming modes."
(let ((f (get-text-property (point) 'face)))
(memq f flyspell-prog-text-faces)))
Finalmente debemos mirarflyspell-prog-text-faces
(defvar flyspell-prog-text-faces
'(font-lock-string-face font-lock-comment-face font-lock-doc-face)
"Faces corresponding to text in programming-mode buffers.")
Entonces, como ahora se puede ver fácilmente, flyspell utiliza la fuente del texto para verificar cómo se ha escrito (esta es probablemente la forma más eficiente para que flyspell maneje este problema. Significa que no tiene que volver a escribirse). -analiza tu código).
Sus opciones son una versión personalizada para flyspell-generic-progmode-verify
cargar flyspell-generic-check-word-p
o modificar el modo principal de modo que produzca diferentes caras para sus distintas cadenas.