yas-snippet-dirs n'est pas un répertoire

1

Je viens d'installer yasnippet et d'ajouter les éléments suivants à mon .emacs:

(add-to-list 'load-path
          "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)

Cependant, au démarrage, j'obtiens le message d'erreur suivant d'Emacs:

 Check your `yas-snippet-dirs': ~/.emacs.d/snippets is not a directory

Maintenant, j'ai vérifié cette variable, et elle est définie comme quelque chose appelé top-level-dirsdans yasnippet.el. Dans mon cas, snippetsest situé dans ~/.emacs.d/plugins/yasnippet, plutôt que directement, ~/.emacs.d/comme le programme semble s'y attendre. Comment puis-je corriger cela?

Koz Ross
la source

Réponses:

1

Je n'ai ni n'utilise yasnippets. Mais il semble que le message d'erreur tente de vous indiquer que la valeur de cette variable doit être un répertoire existant, mais qu'il ne l'est pas.

Cette variable est-elle une option utilisateur? IOW, si vous avez un C-h v yas-snippet-dirstampon, *Help*avez-vous un lien pour personnaliser la valeur de la variable? Si tel est le cas, suivez ce lien et personnalisez la valeur ~/.emacs.d/plugins/yasnippet/(ou le répertoire approprié).

Si la variable n'est pas une option utilisateur, essayez quand même de la définir dans votre fichier init, en utilisant (setq yas-snippet-dirs "~/.emacs.d/plugins/yasnippet/").

A dessiné
la source
Ma configuration n'a pas la barre oblique finale - cela fera-t-il une différence? J'ai modifié la source comme suit: (defcustom yas-snippet-dirs (list "/Users/HOME/.0.data/.0.emacs/.0.snippets") . . .
lawlist
@ Lawlist: Encore une fois, je ne connais rien aux yasnippets. Pourquoi modifier le code source? Désolé, je ne suis pas. Il semble que le PO doive juste vérifier si la valeur de la variable est le nom d’un répertoire existant. S'il a besoin d'expérimenter avec l'ajout ou la suppression de /' from the end of the value, he can do that. Changing a defcustom`, c'est rarement une bonne idée, ne serait-ce que pour des problèmes d'ordre de chargement / évaluation: vous devez alors vous assurer que vous defcustomêtes évalué en premier, etc.
Drew le
Pour quelques-unes des bibliothèques que je prévois d’utiliser pour les années à venir, j’ai entièrement repris le code source et procédé à mes propres révisions. Pour les bibliothèques que j'ai complètement prises en charge (par exemple, lawlist-org-mode, lawlist-calculator-mode, lawlist-calendar-mode, etc.), j'ai choisi de définir les valeurs par défaut en modifiant les defcustomparamètres. Ce n’est pas quelque chose que je suggérerais comme exemple de réponse, mais qui me semble logique pour ma propre configuration. Je n'étais pas sûr de savoir si l'utilisation listest nécessaire lors de l'utilisation yas-snippet-dirs, donc j'ai mis cela aussi dans mon commentaire au cas où cela pourrait être important.
lawlist