From 06f7aa28819f92a37ee041dc256f31a5a7881297 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 16 May 2018 18:24:47 +0200 Subject: [PATCH] feature/file-templates: fix doom module templates There were cases where certain Doom module templates weren't correctly expanded (when your private directory is symlinked). --- modules/feature/file-templates/config.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/feature/file-templates/config.el b/modules/feature/file-templates/config.el index 438ad4751..80c08429d 100644 --- a/modules/feature/file-templates/config.el +++ b/modules/feature/file-templates/config.el @@ -62,7 +62,12 @@ in a project." auto-insert-alist))) (mapc #'+file-templates-add - (let ((doom (concat "/" (regexp-opt '(".emacs.d" ".doom.d" "doom-emacs" ".config/doom")) "/"))) + (let* ((dirs (mapcar (lambda (path) (string-remove-prefix (expand-file-name "~") path)) + (cl-remove-duplicates + (append (list doom-emacs-dir doom-private-dir) + (mapcar #'file-truename (list doom-emacs-dir doom-private-dir))) + :test 'string=))) + (doom (regexp-opt dirs))) `(;; General ("/\\.gitignore$" "__" gitignore-mode) ("/Dockerfile$" "__" dockerfile-mode) @@ -73,8 +78,8 @@ in a project." ("/.dir-locals.el$" nil) ("-test\\.el$" "__" emacs-ert-mode) (,(concat doom ".+\\.el$") "__doom-module" emacs-lisp-mode) - (,(concat doom ".*/packages\\.el$") "__doom-packages" emacs-lisp-mode) - (,(concat doom ".*/test/.+\\.el$") "__doom-test" emacs-lisp-mode) + (,(concat doom "\\(?:.+/\\)?packages\\.el$") "__doom-packages" emacs-lisp-mode) + (,(concat doom "\\(?:.+/\\)?test/.+\\.el$") "__doom-test" emacs-lisp-mode) (snippet-mode "__" snippet-mode) ;; C/C++ ("\\.h$" "__h" c-mode)