を使用するflyspell-mode
と、URLを入力するたびにスペルエラーが報告されます。URLのチェックを停止するようにFlyspellに指示できる方法はありますか?
を使用するflyspell-mode
と、URLを入力するたびにスペルエラーが報告されます。URLのチェックを停止するようにFlyspellに指示できる方法はありますか?
回答:
少し掘り下げた後、[この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)
もちろん、いくつかの欠点があります。
しかし、手っ取り早い方法として、それは動作するはずです。
私はこれらの線に沿って何かを持っています(マークダウンモードの場合)、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/}
ispell
(ではないflyspell
)、この半関連リンク、についてispell-skip-region-alist
、有益になります。 superuser.com/a/345461/206164は おそらく、flyspell
実装することができ何か似ている-例えば、使用しますflyspell-mode-predicate
。