Function: marginalia--context-menu

marginalia--context-menu is a byte-compiled function defined in marginalia.el.

Signature

(marginalia--context-menu MENU EVENT)

Documentation

Add Marginalia commands to context MENU.

Source Code

;; Defined in ~/.emacs.d/elpa/marginalia-20260724.810/marginalia.el
(defun marginalia--context-menu (menu _event)
  "Add Marginalia commands to context MENU."
  (when-let* ((md (marginalia--completion-metadata))
              (cat (completion-metadata-get md 'category))
              (ann (assq cat marginalia-annotators))
              (items (cl-loop
                      for fun in (cdr ann) for i from 0
                      if (or (not (eq fun 'builtin)) (marginalia--builtin-annotator-p md))
                      collect
                      (vector
                       (thread-last (symbol-name fun)
                                    (replace-regexp-in-string ".*?-+annotate-+" "")
                                    (replace-regexp-in-string "-+" " ")
                                    capitalize)
                       (let ((i i))
                         (lambda ()
                           (interactive)
                           (setcdr ann (append (drop i (cdr ann)) (take i (cdr ann))))
                           (marginalia--cache-reset)
                           (message "Marginalia: Use annotator `%s' for category `%s'" (cadr ann) cat)))
                       :style 'radio :selected (eq fun (cadr ann))))))
    (define-key menu [marginalia]
                `("Marginalia" . ,(easy-menu-create-menu
                                   "" `(["Cycle" marginalia-cycle] "---" ,@items)))))
  menu)