mirror of
https://github.com/correl/doom-modeline.git
synced 2025-03-18 17:00:06 -09:00
Update vcs state in mode-line after refreshing in magit.
This commit is contained in:
parent
bd097590a2
commit
10ec55adcc
1 changed files with 53 additions and 32 deletions
|
@ -613,8 +613,10 @@ directory, the file name, and its state (modified, read-only or non-existent)."
|
||||||
;; vcs
|
;; vcs
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(doom-modeline-def-segment vcs
|
(defvar-local doom-modeline--vcs nil)
|
||||||
"Displays the current branch, colored based on its state."
|
(defun doom-modeline--update-vcs ()
|
||||||
|
"Update vsc state in mode-line."
|
||||||
|
(setq doom-modeline--vcs
|
||||||
(when (and vc-mode buffer-file-name)
|
(when (and vc-mode buffer-file-name)
|
||||||
(let* ((backend (vc-backend buffer-file-name))
|
(let* ((backend (vc-backend buffer-file-name))
|
||||||
(state (vc-state buffer-file-name backend)))
|
(state (vc-state buffer-file-name backend)))
|
||||||
|
@ -646,7 +648,26 @@ directory, the file name, and its state (modified, read-only or non-existent)."
|
||||||
" "
|
" "
|
||||||
(propertize (substring vc-mode (+ (if (eq backend 'Hg) 2 3) 2))
|
(propertize (substring vc-mode (+ (if (eq backend 'Hg) 2 3) 2))
|
||||||
'face (if active face))
|
'face (if active face))
|
||||||
" ")))))
|
" "))))))
|
||||||
|
(add-hook 'after-save-hook #'doom-modeline--update-vcs)
|
||||||
|
(add-hook 'find-file-hook #'doom-modeline--update-vcs t)
|
||||||
|
|
||||||
|
(declare-function magit-toplevel "magit-git")
|
||||||
|
(defun doom-modeline-magit-post-refresh ()
|
||||||
|
"Update vcs state in mode-line after refreshing in magit."
|
||||||
|
(dolist (buf (buffer-list))
|
||||||
|
(when (and (not (buffer-modified-p buf))
|
||||||
|
(buffer-file-name buf)
|
||||||
|
(file-exists-p (buffer-file-name buf))
|
||||||
|
(file-in-directory-p (buffer-file-name buf) (magit-toplevel)))
|
||||||
|
(with-current-buffer buf
|
||||||
|
(vc-refresh-state)
|
||||||
|
(doom-modeline--update-vcs)))))
|
||||||
|
(add-hook 'magit-post-refresh-hook #'doom-modeline-magit-post-refresh)
|
||||||
|
|
||||||
|
(doom-modeline-def-segment vcs
|
||||||
|
"Displays the current branch, colored based on its state."
|
||||||
|
doom-modeline--vcs)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Reference in a new issue