flyspell이 URL을 무시하도록하려면 어떻게해야합니까?


14

을 사용 flyspell-mode하면 URL을 입력 할 때마다 맞춤법 오류가보고됩니다. URL 확인을 중지하도록 Flyspell에 지시 할 수있는 방법이 있습니까?


1
들어 ispell(안 flyspell)이 반 관련 링크에 대한 ispell-skip-region-alist도움이 보인다 : superuser.com/a/345461/206164은 아마도 flyspell구현 될 수 비슷한있다 - 예를 들어, 사용을 flyspell-mode-predicate.
lawlist

답변:


11

약간의 파기 후, 나는 [이 Superuser.com 답변 에서 힌트를 찾았습니다 : flyspell-mode-predicate단어를 검사할지 여부를 결정하는 기능 으로 설정 해야합니다. Flyspell이 "http"또는 "https"로 시작하는 것을 무시하도록하는 방법은 다음과 같습니다.

(defun flyspell-ignore-http-and-https ()
  "Function used for `flyspell-generic-check-word-predicate' to ignore stuff starting with \"http\" or \"https\"."
  (save-excursion
    (forward-whitespace -1)
    (when (looking-at " ")
        (forward-char)
    (not (looking-at "https?\\b"))))) 

(put 'text-mode 'flyspell-mode-predicate 'flyspell-ignore-http-and-https)

물론 몇 가지 단점이 있습니다.

  • "http"또는 "https"로 시작하는 것은 건너 뛰어야한다고 가정합니다. 여기에는 " http://cnn.com "및 " https://google.com "(양호)뿐만 아니라 "httpomatic"및 "httpstatisticiansarehip"(아마도 불량)이 포함됩니다
  • (하지만 그 방법은 내가 흔한 :, FTP :, 파일 : 등 등으로 괴롭 히고 있지 않다 광기 거짓말을 할 수 있습니다 ...)

그러나 빠르고 더러운 방법으로 작동합니다.


1

나는이 라인을 따라 (마크 다운 모드의 경우) Saint Aardvark the Carpeted의 대답에서 일반적이지만 병리학 적 사례에 약간 더 저항 적 인 것을 가지고 있습니다.

(require 'thingatpt)
(defun markdown-flyspell-predicate ()
  (not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)

특히 단어 앞의 공백을 살펴보면 URL이 반드시로 시작하지는 않습니다 https. 다음과 같은 경우를 고려하십시오.

(/emacs/)
[text text](/emacs/)
\url{/emacs/}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.