[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote 90fcf37de6 2/8: Add denote--file-has-backlinks-p
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote 90fcf37de6 2/8: Add denote--file-has-backlinks-p; search for backlinks iff needed |
Date: |
Thu, 18 Jul 2024 03:57:56 -0400 (EDT) |
branch: externals/denote
commit 90fcf37de645a82ccf176b4a27fb63df1ba94294
Author: Ashton Wiersdorf <mail@wiersdorf.dev>
Commit: Ashton Wiersdorf <mail@wiersdorf.dev>
Add denote--file-has-backlinks-p; search for backlinks iff needed
This makes it so that denote-rename-buffer--format only searches for
backlinks to the current file if "%b" is part of the format string.
This is because searching for backlinks might be a little expensive,
and it is good to avoid this cost if the user doesn't want it.
---
denote-rename-buffer.el | 6 ++++--
denote.el | 4 ++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/denote-rename-buffer.el b/denote-rename-buffer.el
index f85a7da57b..3e157f193d 100644
--- a/denote-rename-buffer.el
+++ b/denote-rename-buffer.el
@@ -98,14 +98,16 @@ buffer will be used, if available."
"Parse the BUFFER through the `denote-rename-buffer-format'."
(when-let ((file (buffer-file-name buffer))
(type (denote-filetype-heuristics file)))
- (let ((has-backlinks (not (zerop (length (denote-link-return-backlinks
file))))))
+ (let ((should-show-backlink-indicator (and ; only do search if format
contains "%b"
+ (string-match-p "%b"
denote-rename-buffer-format)
+ (denote--file-has-backlinks-p
file))))
(string-trim
(format-spec denote-rename-buffer-format
(list (cons ?t (cond
((denote-retrieve-front-matter-title-value
file type))
((denote-retrieve-filename-title file))
(t "")))
- (cons ?b (if has-backlinks
denote-buffer-has-backlinks-string ""))
+ (cons ?b (if should-show-backlink-indicator
denote-buffer-has-backlinks-string ""))
(cons ?i (or (denote-retrieve-filename-identifier
file) ""))
(cons ?d (or (denote-retrieve-filename-identifier
file) ""))
(cons ?s (or (denote-retrieve-filename-signature
file) ""))
diff --git a/denote.el b/denote.el
index a191cb2402..b1078f1816 100644
--- a/denote.el
+++ b/denote.el
@@ -4015,6 +4015,10 @@ Also see `denote-link-return-links'."
(id (denote-retrieve-filename-identifier-with-error
current-file)))
(delete current-file (denote--retrieve-files-in-xrefs id))))
+(defun denote--file-has-backlinks-p (file)
+ "Return whether or not there exists a file with a link to IDENTIFIER."
+ (not (zerop (length (denote-link-return-backlinks file)))))
+
;;;###autoload
(defun denote-find-backlink ()
"Use minibuffer completion to visit backlink to current file.
- [elpa] externals/denote updated (ba79556066 -> 6b762364f7), ELPA Syncer, 2024/07/18
- [elpa] externals/denote dce9d79b23 6/8: Use plain ASCII for denote-buffer-has-backlinks-string, ELPA Syncer, 2024/07/18
- [elpa] externals/denote 4318efe7e8 1/8: Add indicator for buffer having backlinks to denote-rename-buffer, ELPA Syncer, 2024/07/18
- [elpa] externals/denote 6b762364f7 8/8: Update denote--file-has-backlinks-p docstring to placate the compiler, ELPA Syncer, 2024/07/18
- [elpa] externals/denote 90fcf37de6 2/8: Add denote--file-has-backlinks-p; search for backlinks iff needed,
ELPA Syncer <=
- [elpa] externals/denote f808a67bd8 5/8: Tweak the :package-version of user options for renaming buffers, ELPA Syncer, 2024/07/18
- [elpa] externals/denote aa83497db0 7/8: Document denote-buffer-has-backlinks-string in the manual, ELPA Syncer, 2024/07/18
- [elpa] externals/denote 8abe1bd4f1 4/8: Merge pull request #392 from ashton314/main, ELPA Syncer, 2024/07/18
- [elpa] externals/denote 9be887a963 3/8: Add notes in the manual about the buffer backlink indicator, ELPA Syncer, 2024/07/18