[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dtache b28711936d 1/2: Add hidden source to dtache-cons
From: |
ELPA Syncer |
Subject: |
[elpa] externals/dtache b28711936d 1/2: Add hidden source to dtache-consult |
Date: |
Thu, 10 Feb 2022 15:57:34 -0500 (EST) |
branch: externals/dtache
commit b28711936dbde272d0d41ca403be6d0ff506d163
Author: Niklas Eklund <niklas.eklund@posteo.net>
Commit: Niklas Eklund <niklas.eklund@posteo.net>
Add hidden source to dtache-consult
---
dtache-consult.el | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/dtache-consult.el b/dtache-consult.el
index f70017cd8b..95b3d99957 100644
--- a/dtache-consult.el
+++ b/dtache-consult.el
@@ -34,6 +34,11 @@
;;;; Variables
+(defcustom dtache-consult-hidden-predicates nil
+ "Predicates for sessions that should be hidden."
+ :type '(repeat function)
+ :group 'dtache)
+
(defcustom dtache-consult-sources
'(dtache-consult--source-session
dtache-consult--source-active-session
@@ -55,9 +60,32 @@ See `consult-multi' for a description of the source values."
:action (lambda (x) (dtache-open-session (dtache--decode-session x)))
:items
,(lambda ()
- (seq-map #'car (dtache-session-candidates (dtache-get-sessions)))))
+ (mapcar #'car
+ (seq-remove
+ (lambda (x)
+ (seq-find (lambda (predicate)
+ (apply predicate `(,(cdr x))))
+ dtache-consult-hidden-predicates))
+ (dtache-session-candidates (dtache-get-sessions))))))
"All `dtache' sessions as a source for `consult'.")
+(defvar dtache-consult--source-hidden-session
+ `(:narrow (?\s . "Hidden")
+ :hidden t
+ :category dtache
+ :annotate dtache-session-annotation
+ :action (lambda (x) (dtache-open-session (dtache--decode-session x)))
+ :items
+ ,(lambda ()
+ (mapcar #'car
+ (seq-filter
+ (lambda (x)
+ (seq-find (lambda (predicate)
+ (apply predicate `(,(cdr x))))
+ dtache-consult-hidden-predicates))
+ (dtache-session-candidates (dtache-get-sessions))))))
+ "Active `dtache' sessions as a source for `consult'.")
+
(defvar dtache-consult--source-active-session
`(:narrow (?a . "Active")
:hidden t