emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/denote 4318efe7e8 1/8: Add indicator for buffer having


From: ELPA Syncer
Subject: [elpa] externals/denote 4318efe7e8 1/8: Add indicator for buffer having backlinks to denote-rename-buffer
Date: Thu, 18 Jul 2024 03:57:56 -0400 (EDT)

branch: externals/denote
commit 4318efe7e8ce2bcd2cafa386a903054273203fd5
Author: Ashton Wiersdorf <mail@wiersdorf.dev>
Commit: Ashton Wiersdorf <mail@wiersdorf.dev>

    Add indicator for buffer having backlinks to denote-rename-buffer
---
 denote-rename-buffer.el | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

diff --git a/denote-rename-buffer.el b/denote-rename-buffer.el
index 1335d3a22c..f85a7da57b 100644
--- a/denote-rename-buffer.el
+++ b/denote-rename-buffer.el
@@ -38,11 +38,18 @@
   :link '(info-link "(denote) Top")
   :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/denote";))
 
-(defcustom denote-rename-buffer-format "%t"
+(defcustom denote-buffer-has-backlinks-string "→ "
+  "A string used to indicate that a buffer has backlinks pointing to it."
+  :type 'string
+  :package-version '(denote . "2.1.0")
+  :group 'denote-rename-buffer)
+
+(defcustom denote-rename-buffer-format "%b%t"
   "The format of the buffer name `denote-rename-buffer' should use.
 Thie value is a string that treats specially the following
 specifiers:
 
+- The %b inserts `denote-buffer-has-backlinks-string'.
 - The %t is the Denote TITLE of the file.
 - The %i is the Denote IDENTIFIER of the file.
 - The %d is the same as %i (DATE mnemonic).
@@ -91,20 +98,22 @@ 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)))
-    (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 ?i (or (denote-retrieve-filename-identifier 
file) ""))
-                        (cons ?d (or (denote-retrieve-filename-identifier 
file) ""))
-                        (cons ?s (or (denote-retrieve-filename-signature file) 
""))
-                        (cons ?k (if-let ((kws 
(denote-retrieve-front-matter-keywords-value file type)))
-                                     (denote-keywords-combine kws)
-                                   (or (denote-retrieve-filename-keywords 
file) "")))
-                        (cons ?% "%"))
-                  'delete))))
+    (let ((has-backlinks (not (zerop (length (denote-link-return-backlinks 
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 ?i (or (denote-retrieve-filename-identifier 
file) ""))
+                          (cons ?d (or (denote-retrieve-filename-identifier 
file) ""))
+                          (cons ?s (or (denote-retrieve-filename-signature 
file) ""))
+                          (cons ?k (if-let ((kws 
(denote-retrieve-front-matter-keywords-value file type)))
+                                       (denote-keywords-combine kws)
+                                     (or (denote-retrieve-filename-keywords 
file) "")))
+                          (cons ?% "%"))
+                    'delete)))))
 
 (defun denote-rename-buffer (&optional buffer)
   "Rename current buffer or optional BUFFER with `denote-rename-buffer-format'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]