
나는 주석과 문자열의 철자를 검사하기 위해 js2-mode
with를 사용하고 있습니다.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