Process 'find' output in denote-retrieve

This commit is contained in:
Protesilaos Stavrou 2022-06-15 05:16:42 +03:00
parent d6285c8c5a
commit 7fab21926d
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA

View file

@ -74,5 +74,33 @@ FILE is a note in the variable `denote-directory'."
"Prompt for regular file in variable `denote-directory'."
(read-file-name "Select note: " (denote-directory) nil t nil #'file-regular-p))
(defun denote-retrieve--files-in-output (files)
"Return list of FILES from `find' output."
(delq nil (mapcar (lambda (f)
(when (file-regular-p f) f))
files)))
(defun denote-retrieve--proces-grep (identifier)
"Process lines matching IDENTIFIER and return list of files."
(let* ((default-directory (denote-directory))
(file (file-name-nondirectory (buffer-file-name))))
(denote-retrieve--files-in-output
(process-lines
"find"
default-directory
"-type" "f"
"!" "-name" file
"-maxdepth" "1"
"-exec"
grep-program
"--color=never"
"-m"
"1"
"-e"
identifier
"{}"
";"
"-print"))))
(provide 'denote-retrieve)
;;; denote-retrieve.el ends here