Wie ignoriere ich jQuery-Selektoren in Flyspell?

Wie ignoriere ich jQuery-Selektoren in Flyspell?

Ich verwende js2-mode„with“ flyspell-prog-modezur Rechtschreibprüfung von Kommentaren und Zeichenfolgen.

Bei der Verwendung von jQuery verwenden Sie Selektoren wie $("#something")oder $('something else'). Kann ich Flyspell so konfigurieren, dass bei diesen Zeichenfolgen keine Rechtschreibprüfung durchgeführt wird? Grundsätzlich alles, was in $(und eingeschlossen ist ). Die Handhabung von jQuery(und )wäre auch cool, aber das bekomme ich wahrscheinlich hin.

Ich habe diese ähnliche Frage gefunden, konnte sie aber nicht selbst anpassen.Wie schließe ich {{{ ... }}} im Flyspell-Modus und im Flyspell-Puffer aus?

Danke!

Antwort1

Kurz gesagt: Das ist wirklich nicht möglich, zumindest nicht ohne ernsthaftes Hacken von Flyspell und/oder Ihrem Hauptmodus.

Aus der Flyspell-Quelle

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

Die relevante Zeile, in der wir die flyspell-generic-check-word-pFunktion auf flyspell-generic-progmode-verifydiese Funktion setzen, sieht folgendermaßen aus:

(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)))

Schließlich müssen wir uns ansehenflyspell-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.")

Wie man nun leicht erkennen kann, verwendet Flyspell die Schriftart des Textes, um zu überprüfen, wie er eingegeben wurde (das ist für Flyspell wahrscheinlich die effizienteste Art, mit diesem Problem umzugehen. Es bedeutet, dass Ihr Code nicht erneut analysiert werden muss).

Sie haben die Wahl, entweder eine benutzerdefinierte Version von flyspell-generic-progmode-verifyzu laden flyspell-generic-check-word-poder den Hauptmodus so zu ändern, dass für Ihre verschiedenen Zeichenfolgen unterschiedliche Gesichter erstellt werden.

verwandte Informationen