Function: projectile-dashboard--render-vcs

projectile-dashboard--render-vcs is a byte-compiled function defined in projectile.el.

Signature

(projectile-dashboard--render-vcs DATA)

Documentation

Render DATA's version control summary.

Source Code

;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defun projectile-dashboard--render-vcs (data)
  "Render DATA's version control summary."
  (let ((root (plist-get data :root))
        (vcs (plist-get data :vcs)))
    (projectile-dashboard--section "Version control")
    (projectile-dashboard--field "vcs" vcs)
    (pcase (plist-get data :vcs-state)
      ((and (or 'ok 'partial) state)
       (projectile-dashboard--label "branch")
       (projectile-dashboard--button (plist-get data :branch)
                                     'projectile-dashboard-vc root)
       (insert "\n")
       (let ((modified (plist-get data :modified))
             (untracked (plist-get data :untracked)))
         (projectile-dashboard--field
          "status"
          (if (eq state 'partial)
              "unavailable"
            (format "%d modified, %d untracked" modified untracked))
          (unless (eq state 'partial)
            (if (and (zerop modified) (zerop untracked))
                'projectile-report-ok
              'projectile-report-warning)))))
      ('skipped
       (projectile-dashboard--field "status" "not checked (remote project)"))
      ('unavailable
       (projectile-dashboard--field "status" "unavailable (no commits yet?)"))
      (_
       (unless (memq vcs '(nil none))
         (projectile-dashboard--label "vc")
         (projectile-dashboard--button "open the VC interface"
                                       'projectile-dashboard-vc root)
         (insert "\n"))))))