branch: externals/marginalia
commit f73a31dd7afb1061395fc00ecf11f10a89854863
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Add marginalia-annotate-frame
---
CHANGELOG.org | 5 +++++
marginalia.el | 15 +++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/CHANGELOG.org b/CHANGELOG.org
index d04b194d47..21f48db97f 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,11 @@
#+author: Omar AntolĂn Camarena, Daniel Mendler
#+language: en
+* Development
+
+- Add ~marginalia-annotate-frame~ for ~select-by-frame-name~.
+- Fix ~marginalia-annotate-embark-keybinding~.
+
* Version 2.8 (2026-01-17)
- Use =when-let*= instead of =when-let=.
diff --git a/marginalia.el b/marginalia.el
index d2362229ee..f710f5057c 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -115,6 +115,7 @@ displayed instead."
(library ,#'marginalia-annotate-library)
(theme ,#'marginalia-annotate-theme)
(tab ,#'marginalia-annotate-tab)
+ (frame ,#'marginalia-annotate-frame)
(multi-category ,#'marginalia-annotate-multi-category)))
"Annotator function registry.
Associates completion categories with annotation functions. Each
@@ -150,6 +151,7 @@ determine it."
("\\<minor mode\\>" . minor-mode)
("\\<kill-ring\\>" . kill-ring)
("\\<tab by name\\>" . tab)
+ ("\\<frame\\>" . frame)
("\\<library\\>" . library)
("\\<theme\\>" . theme))
"Associates regexps to match against minibuffer prompts with categories.
@@ -1179,6 +1181,19 @@ These annotations are skipped for remote paths."
((abbreviate-file-name (file-name-directory file))
:truncate -1.0 :face 'marginalia-file-name))))
+(defun marginalia-annotate-frame (cand)
+ "Annotate frame named CAND with window and buffer information."
+ (when-let* ((frame (cl-loop for f in (frame-list)
+ if (equal cand (frame-parameter f 'name))
+ return f)))
+ (let ((wins (window-list frame)))
+ (marginalia--fields
+ ((length wins) :format "win:%s" :face 'marginalia-size)
+ ((if (eq frame (selected-frame))
+ "(current frame)"
+ (mapconcat (lambda (w) (buffer-name (window-buffer w))) wins " "))
+ :face 'marginalia-documentation)))))
+
(defun marginalia-annotate-tab (cand)
"Annotate named tab CAND with tab index, window and buffer information."
(when-let* ((tabs (funcall tab-bar-tabs-function))