Function: magit-section-context-menu
magit-section-context-menu is a byte-compiled function defined in
magit-section.el.
Signature
(magit-section-context-menu MENU CLICK)
Documentation
Populate MENU with Magit-Section commands at CLICK.
Source Code
;; Defined in ~/.emacs.d/elpa/magit-section-20260330.1102/magit-section.el
(defun magit-section-context-menu (menu click)
"Populate MENU with Magit-Section commands at CLICK."
(when-let ((section (save-excursion
(unless (region-active-p)
(mouse-set-point click))
(magit-section-at))))
(unless (region-active-p)
(setq magit--context-menu-buffer (current-buffer))
(if-let ((alt (save-excursion
(mouse-set-point click)
(run-hook-with-args-until-success
'magit-menu-alternative-section-hook section))))
(setq magit--context-menu-section (setq section alt))
(setq magit--context-menu-section section)
(magit-section-update-highlight t)))
(when (magit-section-content-p section)
(keymap-set-after menu "<magit-section-toggle>"
`(menu-item
,(if (oref section hidden) "Expand section" "Collapse section")
magit-section-toggle))
(when-let* ((_(not (oref section hidden)))
(children (oref section children))
(_(seq-some #'magit-section-content-p children)))
(when (seq-some (##oref % hidden) children)
(keymap-set-after menu "<magit-section-show-children>"
`(menu-item "Expand children"
magit-section-show-children)))
(when (seq-some (##not (oref % hidden)) children)
(keymap-set-after menu "<magit-section-hide-children>"
`(menu-item "Collapse children"
magit-section-hide-children))))
(keymap-set-after menu "<separator-magit-1>" menu-bar-separator))
(keymap-set-after menu "<magit-describe-section>"
`(menu-item "Describe section" magit-describe-section))
(when-let ((map (oref section keymap)))
(keymap-set-after menu "<separator-magit-2>" menu-bar-separator)
(when (symbolp map)
(setq map (symbol-value map)))
(setq magit-menu-common-value (magit-menu-common-value section))
(setq magit-menu--desc-values (magit-menu--desc-values section))
(map-keymap (lambda (key binding)
(when (consp binding)
(define-key-after menu (vector key)
(copy-sequence binding))))
(menu-bar-keymap map))))
menu)