Subject: [bug#56955] [PATCH] .dir-locals.el: Add guix yasnippets.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 10 Aug 2022 16:26:10 -0400

Hi Andrew,

Andrew Tropin <[email-masked]> writes:

> * .dir-locals.el (eval): Add guix yasnippets.
> ---
>  .dir-locals.el | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/.dir-locals.el b/.dir-locals.el
> index e4c1da8026..ecaec8de87 100644
> --- a/.dir-locals.el
> +++ b/.dir-locals.el
> @@ -14,6 +14,15 @@
>       (eval . (setq-local guix-directory
>                           (locate-dominating-file default-directory
>                                                   ".dir-locals.el")))
> +     ;; YASnippet
> +     (eval . (with-eval-after-load
> +                 'yasnippet
> +               (add-to-list 'yas-snippet-dirs
> +                            (expand-file-name
> +                             "etc/snippets"
> +                             (locate-dominating-file default-directory
> +                                                     ".dir-locals.el")))
> +               (yas-reload-all)))

That's an interesting idea, but wouldn't the `yas-reload-all` be
triggered for every module visited?  That may take some time if a user
has lots of snippets in their collection.

Perhaps what it could do is check if the yas-snippet-dirs already has
the guix snippets directory, and do nothing if it does.

Thanks,

Maxim