Function: magit--git-variable-list-choices

magit--git-variable-list-choices is a natively compiled function defined in magit-transient.el.

Signature

(magit--git-variable-list-choices OBJ)

Source Code

;; Defined in /nix/store/irvbdy0zra0dn8fpd008f32x5ix6qm5v-emacs-packages-deps/share/emacs/site-lisp/elpa/magit-20261005.508/magit-transient.el
(defun magit--git-variable-list-choices (obj)
  (with-slots (choices value location) obj
    (when (functionp choices)
      (setq choices (funcall choices)))
    (cons
     (cond-let*
       ([_(eq location 'worktree)]
        [local (magit--git-variable-get obj "--local")]
        (propertize (concat "local:" local)
                    'face (cond (value
                                 'transient-inactive-value)
                                ((member local choices)
                                 'transient-value)
                                ('font-lock-warning-face))))
       ([_(not (eq location 'global))]
        [global (magit--git-variable-get obj "--global")]
        (propertize (concat "global:" global)
                    'face (cond (value
                                 'transient-inactive-value)
                                ((member global choices)
                                 'transient-value)
                                ('font-lock-warning-face))))
       ([fallback* (oref obj fallback)]
        [fallback  (magit-get fallback*)]
        (propertize (concat fallback* ":" fallback)
                    'face (if value
                              'transient-inactive-value
                            'transient-value)))
       ([default* (oref obj default)]
        [default  (if (functionp default*) (funcall default* obj) default*)]
        (propertize (if (functionp default*)
                        (concat "dwim:" default)
                      (concat "default:" default))
                    'face (if value
                              'transient-inactive-value
                            'transient-value))))
     (mapcar (lambda (choice)
               (propertize choice
                           'face (if (equal choice value)
                                     (if (member choice choices)
                                         'transient-value
                                       'font-lock-warning-face)
                                   'transient-inactive-value)))
             (if (and value (not (member value choices)))
                 (cons value choices)
               choices)))))