Como ignorar seletores jQuery no flyspell?

1

Estou usando js2-mode com flyspell-prog-mode para verificar a ortografia de comentários e strings.

Ao usar o jQuery, você usa seletores como $("#something") ou $('something else') . Posso configurar flyspell para não verificar a ortografia dessas strings? Basicamente, qualquer coisa envolvida em $( e ) . Lidar com jQuery( e ) também seria legal, mas provavelmente posso gerenciar isso.

Encontrei essa pergunta, que é semelhante, mas não consegui adaptá-la. Como excluir {{{...}}} no flyspell -mode e flyspell-buffer?

Obrigado!

    
por Murph 08.02.2013 / 17:18

1 resposta

0

O mais curto é que você realmente não pode, pelo menos não sem alguns hackers sérios de flyspell e / ou seu modo principal.

Da fonte flyspell

;;;###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))

A linha relevante é onde definimos a função flyspell-generic-check-word-p para flyspell-generic-progmode-verify que a função se parece com esta

(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, precisamos analisar flyspell-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.")

Assim como agora pode ser facilmente visto, flyspell está usando a fonte do texto para verificar o que foi digitado (provavelmente é a maneira mais eficiente para o flyspell lidar com esse problema. Isso significa que não tem que analisar novamente seu código).

Suas opções são uma versão personalizada de flyspell-generic-progmode-verify para carregar em flyspell-generic-check-word-p ou modificar o modo principal de forma que produza diferentes faces para suas várias strings.

    
por 08.02.2013 / 18:02

Tags