Quando uso flyspell-mode
, segnala errori di ortografia ogni volta che scrivo un URL. C'è un modo per dire a Flyspell di smettere di controllare gli URL?
Quando uso flyspell-mode
, segnala errori di ortografia ogni volta che scrivo un URL. C'è un modo per dire a Flyspell di smettere di controllare gli URL?
Risposte:
Dopo un po 'di ricerche, ho trovato un suggerimento in [questa risposta di Superuser.com : devi impostare flyspell-mode-predicate
una funzione che deciderà se le parole devono essere controllate o meno. Ecco un modo per far sì che Flyspell ignori qualsiasi cosa che inizi con "http" o "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)
Ci sono alcune carenze, ovviamente:
Ma come metodo rapido e sporco, dovrebbe funzionare.
Ho qualcosa del genere (nel mio caso per la modalità markdown) per essere leggermente più resistente ad alcuni casi comuni ma patologici della risposta di Saint Aardvark the Carpeted:
(require 'thingatpt)
(defun markdown-flyspell-predicate ()
(not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)
In particolare, se inizi guardando lo spazio bianco prima di una parola, l'URL non inizierà necessariamente con https
. Considera questi casi:
(/emacs/)
[text text](/emacs/)
\url{/emacs/}
ispell
(nonflyspell
) questo link semi-correlato, per quanto riguardaispell-skip-region-alist
, sembra utile: superuser.com/a/345461/206164 Forseflyspell
ha qualcosa di simile che può essere implementato - ad esempio, usandoflyspell-mode-predicate
.