Lorsque j'utilise flyspell-mode
, il signale les fautes d'orthographe chaque fois que je tape une URL. Existe-t-il un moyen de dire à Flyspell d'arrêter de vérifier les URL?
Lorsque j'utilise flyspell-mode
, il signale les fautes d'orthographe chaque fois que je tape une URL. Existe-t-il un moyen de dire à Flyspell d'arrêter de vérifier les URL?
Réponses:
Après avoir creusé un peu, j'ai trouvé un indice dans [cette réponse Superuser.com : vous devez définir flyspell-mode-predicate
une fonction qui décidera si les mots doivent être vérifiés ou non. Voici un moyen pour que Flyspell ignore tout ce qui commence par "http" ou "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)
Il y a bien sûr des lacunes:
Mais en tant que méthode rapide et sale, cela devrait fonctionner.
J'ai quelque chose dans ce sens (dans mon cas pour le mode démarque) pour être légèrement plus résistant à certains cas courants mais pathologiques de la réponse de Saint Aardvark le Moquette:
(require 'thingatpt)
(defun markdown-flyspell-predicate ()
(not (thing-at-point 'url)))
(put 'markdown-mode 'flyspell-mode-predicate 'markdown-flyspell-predicate)
En particulier, si vous commencez par regarder les espaces avant un mot, l'URL ne commencera pas nécessairement par https
. Considérez ces cas:
(/emacs/)
[text text](/emacs/)
\url{/emacs/}
ispell
(pasflyspell
) ce lien semi-lié, concernantispell-skip-region-alist
, semble utile: superuser.com/a/345461/206164 Peut-êtreflyspell
a quelque chose de similaire qui peut être mis en œuvre - par exemple, en utilisantflyspell-mode-predicate
.