[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/buffer-env bc71c5014e 1/3: Allow for buffer-env-script-
From: |
ELPA Syncer |
Subject: |
[elpa] externals/buffer-env bc71c5014e 1/3: Allow for buffer-env-script-name to be a list of files |
Date: |
Fri, 13 May 2022 11:57:26 -0400 (EDT) |
branch: externals/buffer-env
commit bc71c5014ec79f9afbc699f48f794d03dd7ca64f
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Augusto Stoffel <astoff@users.noreply.github.com>
Allow for buffer-env-script-name to be a list of files
---
buffer-env.el | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/buffer-env.el b/buffer-env.el
index c29da45b8d..75743f4954 100644
--- a/buffer-env.el
+++ b/buffer-env.el
@@ -57,9 +57,10 @@
"Buffer-local process environments."
:group 'processes)
-(defcustom buffer-env-script-name ".envrc"
- "File name of the script to produce environment variables."
- :type 'string)
+(defcustom buffer-env-script-name
+ '(".envrc" "manifest.scm" "guix.scm")
+ "File name or list of the scripts to produce environment variables."
+ :type '(choice (repeat string) string))
(defcustom buffer-env-commands
'((".env" . "set -a && >&2 . \"$0\" && env -0")
@@ -141,11 +142,19 @@ Files marked as safe to execute are permanently stored in
(defun buffer-env--locate-script ()
"Locate a dominating file named `buffer-env-script-name'."
- (when-let* ((dir (and (stringp buffer-env-script-name)
- (not (file-remote-p default-directory))
- (locate-dominating-file default-directory
- buffer-env-script-name))))
- (expand-file-name buffer-env-script-name dir)))
+ (unless (file-remote-p default-directory)
+ (cond
+ ((listp buffer-env-script-name)
+ (seq-some
+ (lambda (script-name)
+ (and-let* ((dir (locate-dominating-file default-directory
+ script-name)))
+ (expand-file-name script-name dir)))
+ buffer-env-script-name))
+ ((stringp buffer-env-script-name)
+ (when-let* ((dir (locate-dominating-file default-directory
+ buffer-env-script-name)))
+ (expand-file-name buffer-env-script-name dir))))))
;;;###autoload
(defun buffer-env-update (&optional file)