Come posso mostrare lo stato git nella barra inferiore di emacs?


3

C'è un modo per mostrare il ramo corrente, vantaggi, svantaggi e autori nella barra di stato di emacs? Qualcosa di simile a:

-UU-:**--F1 buildfile Top (84,16) (Ruby Paredit AC yas Fill) ---(git: master +2/-4 Jake Pearson

Risposte:


2

Mi sono inventato questo:

(defadvice vc-git-mode-line-string (after plus-minus (file) compile activate)
  (setq ad-return-value
    (concat ad-return-value
            (let ((plus-minus (vc-git--run-command-string
                               file "diff" "--numstat" "--")))
              (and plus-minus
                   (string-match "^\\([0-9]+\\)\t\\([0-9]+\\)\t" plus-minus)
                   (format " +%s-%s" (match-string 1 plus-minus) (match-string 2 plus-minus)))))))

che mette Git:master +9-2 nella mia linea di modo.

Non sei sicuro di cosa intendi per autore: sarebbe l'autore dell'ultimo commit? Se è così, questo sembra funzionare:

(defadvice vc-git-mode-line-string (after author (file) compile activate)
  (setq ad-return-value
        (concat ad-return-value
                (let ((author
                       (vc-git--run-command-string file "log" "-n1" "--pretty=format:%an" "--")))
                  (when author
                    (concat " " author))))))

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.