[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/marginalia 58ce23c920: Emacs 29: Use bookmark-handler-t
From: |
ELPA Syncer |
Subject: |
[elpa] externals/marginalia 58ce23c920: Emacs 29: Use bookmark-handler-type |
Date: |
Mon, 5 Dec 2022 20:57:47 -0500 (EST) |
branch: externals/marginalia
commit 58ce23c92072a1274633f7567caa1aeca4c1b550
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Emacs 29: Use bookmark-handler-type
Make marginalia--bookmark-type-transform private, since this mechanism will
be
discouraged from now on.
---
marginalia.el | 49 ++++++++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/marginalia.el b/marginalia.el
index 9faf7d8eb9..c6f9ec38bc 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -143,16 +143,6 @@ determine it."
"Associate commands with a completion category."
:type '(alist :key-type symbol :value-type symbol))
-(defcustom marginalia-bookmark-type-transformers
- (let ((words (regexp-opt '("handle" "handler" "jump" "bookmark"))))
- `((,(format "-+%s-+" words) . "-")
- (,(format "\\`%s-+" words) . "")
- (,(format "-%s\\'" words) . "")
- ("\\`default\\'" . "File")
- (".*" . ,#'capitalize)))
- "List of bookmark type transformers."
- :type '(alist :key-type regexp :value-type (choice string function)))
-
(defgroup marginalia-faces nil
"Faces used by `marginalia-mode'."
:group 'marginalia
@@ -308,6 +298,17 @@ determine it."
;;;; Marginalia mode
+(defvar marginalia--bookmark-type-transforms
+ (let ((words (regexp-opt '("handle" "handler" "jump" "bookmark"))))
+ `((,(format "-+%s-+" words) . "-")
+ (,(format "\\`%s-+" words) . "")
+ (,(format "-%s\\'" words) . "")
+ ("\\`default\\'" . "File")
+ (".*" . ,#'capitalize)))
+ "List of bookmark type transformers.
+Relying on this mechanism is discouraged in favor of the
+`bookmark-handler-type' property.")
+
(defvar marginalia--candw-step 10
"Round candidate width.")
@@ -726,20 +727,22 @@ keybinding since CAND includes it."
(defun marginalia--bookmark-type (bm)
"Return bookmark type string of BM.
-
-The string is transformed according to
`marginalia-bookmark-type-transformers'."
+The string is transformed according to `marginalia--bookmark-type-transforms'."
(let ((handler (or (bookmark-get-handler bm) 'bookmark-default-handler)))
- ;; Some libraries use lambda handlers instead of symbols. For
- ;; example the function `xwidget-webkit-bookmark-make-record' is
- ;; affected. I consider this bad style since then the lambda is
- ;; persisted.
- (when-let (str (and (symbolp handler) (symbol-name handler)))
- (dolist (transformer marginalia-bookmark-type-transformers str)
- (when (string-match-p (car transformer) str)
- (setq str
- (if (stringp (cdr transformer))
- (replace-regexp-in-string (car transformer) (cdr
transformer) str)
- (funcall (cdr transformer) str))))))))
+ (and
+ ;; Some libraries use lambda handlers instead of symbols. For
+ ;; example the function `xwidget-webkit-bookmark-make-record' is
+ ;; affected. I consider this bad style since then the lambda is
+ ;; persisted.
+ (symbolp handler)
+ (or (get handler 'bookmark-handler-type)
+ (let ((str (symbol-name handler)))
+ (dolist (transformer marginalia--bookmark-type-transforms str)
+ (when (string-match-p (car transformer) str)
+ (setq str
+ (if (stringp (cdr transformer))
+ (replace-regexp-in-string (car transformer) (cdr
transformer) str)
+ (funcall (cdr transformer) str))))))))))
(defun marginalia-annotate-bookmark (cand)
"Annotate bookmark CAND with its file name and front context string."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/marginalia 58ce23c920: Emacs 29: Use bookmark-handler-type,
ELPA Syncer <=