[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote 02d6f42ab4 320/355: Merge branch 'xref-instead-o
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote 02d6f42ab4 320/355: Merge branch 'xref-instead-of-find' |
Date: |
Sun, 26 Jun 2022 23:58:36 -0400 (EDT) |
branch: externals/denote
commit 02d6f42ab475bf5af3a2be3389b54e314273df97
Merge: a2e4497486 92f9cb8cb9
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Merge branch 'xref-instead-of-find'
---
denote-retrieve.el | 41 +++++++++++++++++++----------------------
1 file changed, 19 insertions(+), 22 deletions(-)
diff --git a/denote-retrieve.el b/denote-retrieve.el
index fbd55347c5..75724f3ac0 100644
--- a/denote-retrieve.el
+++ b/denote-retrieve.el
@@ -96,33 +96,30 @@ Optional GROUP is a regexp construct for
(when (denote--only-note-p f) f))
files)))
-;; TODO 2022-06-15: Maybe we can do the same in a more standard way?
-;; Perhaps with `xref-matches-in-files'?
-;;
-;; (xref-matches-in-files IDENTIFIER (denote--directory-files :absolute))
+(autoload 'xref--analyze "xref")
+
+(defun denote-retrieve--xrefs (identifier)
+ "Return xrefs of IDENTIFIER in variable `denote-directory'."
+ (xref--analyze
+ (xref-matches-in-files identifier (denote--directory-files :absolute))))
+
+(defun denote-retrieve--files-in-xrefs (xrefs)
+ "Return sorted file names sans directory from XREFS.
+Parse `denote-retrieve--xrefs'."
+ (sort
+ (mapcar (lambda (x)
+ (file-name-nondirectory (car x)))
+ xrefs)
+ #'string-lessp))
+
(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
- (sort
- (process-lines
- "find"
- default-directory
- "-maxdepth" "1"
- "-type" "f"
- "!" "-name" file
- "-exec"
- grep-program
- "--color=never"
- "-m"
- "1"
- "-e"
- identifier
- "{}"
- ";"
- "-print")
- #'string-lessp))))
+ (delete file
+ (denote-retrieve--files-in-xrefs
+ (denote-retrieve--xrefs identifier))))))
(provide 'denote-retrieve)
;;; denote-retrieve.el ends here
- [elpa] externals/denote afeba68044 295/355: Update Commentary of denote-link.el, (continued)
- [elpa] externals/denote afeba68044 295/355: Update Commentary of denote-link.el, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 9f536185c9 292/355: Update buttonization doc string, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 69d5dd7fac 304/355: Use subheading for each FAQ entry, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 966fedf1f6 299/355: Write reference card for all functions, variables, ELPA Syncer, 2022/06/27
- [elpa] externals/denote fbe743ad6f 300/355: Tweak sample config for denote-dired-mode, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 8d504a3264 255/355: Check to operate on dired-rename window, ELPA Syncer, 2022/06/27
- [elpa] externals/denote a2e4497486 319/355: Expand the "Extending Denote" section, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 18af2cbcec 321/355: Update Acknowledgements, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 92f9cb8cb9 318/355: Use xref instead of relying on find+grep, ELPA Syncer, 2022/06/27
- [elpa] externals/denote ee4aed6376 316/355: Refine check for denote dir in dired revert, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 02d6f42ab4 320/355: Merge branch 'xref-instead-of-find',
ELPA Syncer <=
- [elpa] externals/denote 6b7aa9db48 313/355: Reword a statement in the manual, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 0fdbbae03e 305/355: Expand FAQ entry on file-naming origin, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 102d1d2d1e 334/355: refactor!: Default Org front-matter to use org-id style ID property, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 25cc5a79e6 332/355: Require built-in xref to parse cross-references, ELPA Syncer, 2022/06/27
- [elpa] externals/denote e4697c563f 342/355: Tweak denote.el Commentary section, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 62fc0308c0 345/355: Tweak sample configuration, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 8d8e96182b 351/355: Fix two typos, ELPA Syncer, 2022/06/27
- [elpa] externals/denote fcf4ea7f53 302/355: Tweak reference to listing files, ELPA Syncer, 2022/06/27
- [elpa] externals/denote ee22a7f380 038/355: Add helper function for line predicates, ELPA Syncer, 2022/06/27
- [elpa] externals/denote e21db9418e 066/355: Tweak file regexp to read files with no extension, ELPA Syncer, 2022/06/27