Flyspell에서 jQuery 선택기를 무시하는 방법은 무엇입니까?

Flyspell에서 jQuery 선택기를 무시하는 방법은 무엇입니까?

나는 주석과 문자열의 철자를 검사하기 위해 js2-modewith를 사용하고 있습니다.flyspell-prog-mode

jQuery를 사용할 때는 $("#something")또는 와 같은 선택기를 사용합니다 $('something else'). 이러한 문자열의 맞춤법을 검사하지 않도록 flyspell을 구성할 수 있습니까? 기본적으로 모든 항목은 $(및 로 포장됩니다 ). 핸들링 jQuery()멋지겠지만 아마도 관리할 수 있을 것입니다.

비슷한 질문을 찾았지만 직접 적용할 수는 없었습니다.flyspell-mode 및 flyspell-buffer에서 {{{ ... }}}를 제외하는 방법은 무엇입니까?

감사해요!

답변1

단점은 적어도 플라이 주문 및/또는 주요 모드에 대한 심각한 해킹 없이는 실제로 할 수 없다는 것입니다.

플라이스펠 소스에서

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

함수를 해당 함수 flyspell-generic-check-word-p로 설정하는 관련 줄은 다음과 같습니다.flyspell-generic-progmode-verify

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

마지막으로 우리가 살펴봐야 할 것은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.")

이제 쉽게 볼 수 있듯이, flyspell은 텍스트의 글꼴을 사용하여 텍스트가 무엇으로 입력되었는지 확인합니다(이것은 실제로 flyspell이 이 문제를 처리하는 가장 효율적인 방법일 것입니다. 이는 다시 작업할 필요가 없음을 의미합니다. -코드를 구문 분석하십시오).

귀하의 옵션은 다양한 문자열에 대해 다른 면을 생성하도록 주요 모드를 flyspell-generic-progmode-verify로드 하거나 수정하는 의 사용자 정의 버전입니다 .flyspell-generic-check-word-p

관련 정보