Como mostro o status do git na barra inferior do emacs?

3

Existe uma maneira de mostrar o ramo atual, vantagens, desvantagens e autores na barra de status do emacs? Algo como:

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

    
por Jake Pearson 02.04.2013 / 18:57

2 respostas

2

Eu inventei isso:

(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)))))))

que coloca Git:master +9-2 na minha linha de modo.

Não tem certeza do que você quer dizer com autor - seria esse o autor do último commit? Se assim for, isso parece funcionar:

(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))))))
    
por 08.04.2013 / 11:43
-1

Você já tentou emacs-powerline?

    
por 18.05.2017 / 14:17

Tags