Comment définir le dictionnaire ispell pour tous les fichiers situés sous un répertoire spécifique

StackOverflow https://stackoverflow.com/questions/9005529

  •  14-11-2019
  •  | 
  •  

Question

Comment puis-je (automatiquement) définir le dictionnaire (par ex.via un appel automatisé à ispell-change-dictionary) dans une langue spécifique pour chaque fichier situé sous un répertoire particulier ?

Exemple:Je préférerais que la langue standard de mon annuaire soit l'anglais américain (par ex.en définissant (setq ispell-dictionary "en_US-wo_accents") dans mon .emacs fichier) mais j'aimerais utiliser l'anglais britannique pour tous les fichiers ci-dessous (ou :sous) le répertoire /home/werner/dissertation/.Et peut-être en néerlandais pour tous les fichiers sous /home/werner/letters/.

Je connais la solution qui prescrit d'utiliser -*- ispell-dictionary: "english" -*- sur la première ligne d'un fichier pour définir le dictionnaire de ce fichier particulier (décrit à EmacsWiki.org).J'aimerais éviter de devoir mettre cette ligne au-dessus de chaque nouveau fichier que je crée.

Était-ce utile?

La solution

Vous pouvez utiliser quelque chose comme (mais cette approche est plus utile lorsque vous souhaitez créer quelque chose de complexe pour des fichiers donnés) :

(defun set-dictionary-hook ()
  (when (and (stringp buffer-file-name)
     (string-match "/dissertation/" buffer-file-name))
    (setq ispell-local-dictionary "ru")))
(add-hook 'find-file-hook 'set-dictionary-hook)

ou vous pouvez le préciser dans .dir-locals.el comme décrit dans Manuel Emacs - Je pense que ce sera plus simple que la première approche, quelque chose comme :

((tex-mode . ((ispell-local-dictionary . "english"))))

pour les fichiers avec des modes spécifiques, ou

((nil . ((ispell-local-dictionary . "english"))))

pour tous les fichiers

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top