Saat saya gunakan flyspell-mode
, itu melaporkan kesalahan ejaan setiap kali saya mengetik URL. Apakah ada cara saya bisa memberi tahu Flyspell untuk berhenti memeriksa URL?
Saat saya gunakan flyspell-mode
, itu melaporkan kesalahan ejaan setiap kali saya mengetik URL. Apakah ada cara saya bisa memberi tahu Flyspell untuk berhenti memeriksa URL?
Jawaban:
Setelah sedikit menggali, saya menemukan petunjuk di [ jawaban Superuser.com ini : Anda perlu mengatur flyspell-mode-predicate
ke fungsi yang akan memutuskan apakah kata-kata harus diperiksa atau tidak. Berikut cara agar Flyspell mengabaikan apa pun yang dimulai dengan "http" atau "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)
Ada beberapa kekurangan, tentu saja:
Tetapi sebagai metode yang cepat dan kotor, metode ini seharusnya bekerja.
Saya memiliki sesuatu di sepanjang baris ini (dalam kasus saya untuk mode penurunan harga) menjadi sedikit lebih tahan terhadap beberapa kasus patologis yang umum tetapi dari Saint Aardvark the Carpeted's menjawab:
(require 'thingatpt)
(defun markdown-flyspell-predicate ()
(not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)
Secara khusus, jika Anda mulai dengan melihat spasi putih sebelum kata, URL tidak akan selalu dimulai dengan https
. Pertimbangkan kasus-kasus ini:
(/emacs/)
[text text](/emacs/)
\url{/emacs/}
ispell
(bukanflyspell
) tautan semi-terkait ini, mengenaiispell-skip-region-alist
, terlihat membantu: superuser.com/a/345461/206164 Mungkinflyspell
memiliki sesuatu yang serupa yang dapat diterapkan - misalnya, menggunakanflyspell-mode-predicate
.