branch: externals/denote
commit 608e0e880beb391009f71153599f89c24cff3df8
Author: Protesilaos Stavrou <i...@protesilaos.com>
Commit: Protesilaos Stavrou <i...@protesilaos.com>

    Define denote-sequence-get-all-files-with-prefix
---
 denote-sequence.el | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/denote-sequence.el b/denote-sequence.el
index c719706acc..bfd26ca25d 100644
--- a/denote-sequence.el
+++ b/denote-sequence.el
@@ -84,6 +84,20 @@ For example, 1=2=1 is three levels deep."
 A sequence is a Denote signature that conforms with `denote-sequence-p'."
   (seq-filter #'denote-sequence-file-p (denote-directory-files)))
 
+(defun denote-sequence-get-all-files-with-prefix (sequence &optional files)
+  "Return all files in variable `denote-directory' with prefix SEQUENCE.
+A sequence is a Denote signature that conforms with `denote-sequence-p'.
+
+With optional FILES, operate on them, else use the return value of
+`denote-directory-files'."
+  (delq nil
+        (mapcar
+         (lambda (file)
+           (when-let* ((file-sequence (denote-sequence-file-p file))
+                       ((string-match-p sequence file-sequence)))
+             file))
+         (or files (denote-directory-files)))))
+
 (defun denote-sequence-get-all-sequences (&optional files)
   "Return all sequences in `denote-directory-files'.
 A sequence is a Denote signature that conforms with `denote-sequence-p'.

Reply via email to