[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 3b25d30 206/399: counsel.el (counsel-compile): Add predica
From: |
Oleh Krehel |
Subject: |
[elpa] master 3b25d30 206/399: counsel.el (counsel-compile): Add predicate to counsel-compile-env |
Date: |
Sat, 20 Jul 2019 14:57:24 -0400 (EDT) |
branch: master
commit 3b25d308c5dd6e39400b5d7e4c9e0b50a58eb3bc
Author: Alex Bennée <address@hidden>
Commit: Oleh Krehel <address@hidden>
counsel.el (counsel-compile): Add predicate to counsel-compile-env
This adds a simple predicate test to filter out bad entries from the
history as well as verify new entries being added to the environment.
---
counsel.el | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/counsel.el b/counsel.el
index 0e16137..395a99d 100644
--- a/counsel.el
+++ b/counsel.el
@@ -5259,6 +5259,10 @@ list is passed to `compilation-environment'."
(defvar counsel-compile-env-history nil
"History for `counsel-compile-env'.")
+(defvar counsel-compile-env-pattern
+ "[_[:digit:][:upper:]]+=[/[:album:]]*"
+ "Pattern to match valid environment variables.")
+
(defcustom counsel-compile-make-pattern "\\`\\(?:GNUm\\|[Mm]\\)akefile\\'"
"Regexp for matching the names of Makefiles."
:type 'regexp)
@@ -5459,9 +5463,11 @@ specified by the `blddir' property."
(defun counsel-compile-env--update (var)
"Update `counsel-compile-env' either adding or removing VAR."
- (if (member var counsel-compile-env)
- (setq counsel-compile-env (delete var counsel-compile-env))
- (add-to-list 'counsel-compile-env var)))
+ (cond ((member var counsel-compile-env)
+ (setq counsel-compile-env (delete var counsel-compile-env)))
+ ((string-match-p counsel-compile-env-pattern var)
+ (push var counsel-compile-env))
+ (t (user-error "Ignoring malformed variable: '%s'" var))))
;;;###autoload
(defun counsel-compile-env ()
@@ -5472,6 +5478,9 @@ specified by the `blddir' property."
(delete-dups (append
counsel-compile-env counsel-compile-env-history))
:action #'counsel-compile-env--update
+ :predicate (lambda (cand)
+ (string-match-p counsel-compile-env-pattern
+ cand))
:history 'counsel-compile-env-history
:caller 'counsel-compile-env)))
- [elpa] master 2221a5c 177/399: ivy-test.el (counsel-find-file-with-dotfiles): Add test, (continued)
- [elpa] master 2221a5c 177/399: ivy-test.el (counsel-find-file-with-dotfiles): Add test, Oleh Krehel, 2019/07/20
- [elpa] master 0467f5b 191/399: doc/ivy.org: Correct typo, Oleh Krehel, 2019/07/20
- [elpa] master e3f8908 186/399: ivy-test.el: Make friendlier, Oleh Krehel, 2019/07/20
- [elpa] master 891be1d 199/399: counsel.el (counsel-org-file): Handle ATTACH_DIR property, Oleh Krehel, 2019/07/20
- [elpa] master 4f12a59 196/399: counsel.el (counsel-find-file-mkdir-action): Add trailing "/", Oleh Krehel, 2019/07/20
- [elpa] master 62a2c7e 195/399: counsel.el (counsel-find-file): Improve copy and move actions, Oleh Krehel, 2019/07/20
- [elpa] master d8136a2 200/399: doc/ivy.org: Remove outdated magit customization, Oleh Krehel, 2019/07/20
- [elpa] master ca8d5ba 197/399: ivy.el (ivy-partial): Adjust ivy-tab-space when one candidate, Oleh Krehel, 2019/07/20
- [elpa] master f28e00c 194/399: counsel.el (counsel-find-file): Improve delete action with ivy-call, Oleh Krehel, 2019/07/20
- [elpa] master afeda97 198/399: counsel.el (counsel-company): Add :caller, Oleh Krehel, 2019/07/20
- [elpa] master 3b25d30 206/399: counsel.el (counsel-compile): Add predicate to counsel-compile-env,
Oleh Krehel <=
- [elpa] master 3d0887f 204/399: counsel.el (counsel-compile): Add counsel-compile-env, Oleh Krehel, 2019/07/20
- [elpa] master 605cee0 202/399: counsel.el (counsel-compile): Fix saving of blddir, Oleh Krehel, 2019/07/20
- [elpa] master c9f2318 203/399: counsel.el (counsel-compile): Add helper for formatting text, Oleh Krehel, 2019/07/20
- [elpa] master 276599c 201/399: doc/ivy.texi: Generate from doc/ivy.org, Oleh Krehel, 2019/07/20
- [elpa] master 3f27e25 207/399: counsel.el (counsel-compile): Don't squash default-directory, Oleh Krehel, 2019/07/20
- [elpa] master 6de6233 205/399: counsel.el (counsel-compile): New counsel-compile-env helper, Oleh Krehel, 2019/07/20
- [elpa] master f628eb3 210/399: swiper.el (swiper-isearch-symbol-at-point): Add, Oleh Krehel, 2019/07/20
- [elpa] master bed783e 217/399: ivy-test.el (swiper-isearch-case-fold): Add test, Oleh Krehel, 2019/07/20
- [elpa] master 4147453 212/399: swiper.el (swiper-isearch-thing-at-point): Add, Oleh Krehel, 2019/07/20
- [elpa] master 9a2b110 214/399: ivy.el (ivy-insert-current): Insert text without properties, Oleh Krehel, 2019/07/20