branch: externals/denote commit 7fab21926ddbbd427559e5de9699bc362ce89c16 Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Process 'find' output in denote-retrieve --- denote-retrieve.el | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/denote-retrieve.el b/denote-retrieve.el index d4d0615937..5a05dc234f 100644 --- a/denote-retrieve.el +++ b/denote-retrieve.el @@ -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