Fix git-gutter in indirect buffers

This commit is contained in:
Henrik Lissner 2020-02-25 12:49:52 -05:00
parent d522a7816d
commit e20f574b2e
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -28,27 +28,28 @@ flycheck indicators moved to the right fringe.")
If the buffer doesn't represent an existing file, `git-gutter-mode's activation If the buffer doesn't represent an existing file, `git-gutter-mode's activation
is deferred until the file is saved. Respects `git-gutter:disabled-modes'." is deferred until the file is saved. Respects `git-gutter:disabled-modes'."
(when (or +vc-gutter-in-remote-files (let ((file-name (buffer-file-name (buffer-base-buffer))))
(not (file-remote-p (or buffer-file-name default-directory)))) (when (or +vc-gutter-in-remote-files
(if (not buffer-file-name) (not (file-remote-p (or file-name default-directory))))
(add-hook 'after-save-hook #'+vc-gutter-init-maybe-h nil 'local) (if (null file-name)
(when (and (vc-backend buffer-file-name) (add-hook 'after-save-hook #'+vc-gutter-init-maybe-h nil 'local)
(progn (when (and (vc-backend file-name)
(require 'git-gutter) (progn
(not (memq major-mode git-gutter:disabled-modes)))) (require 'git-gutter)
(if (and (display-graphic-p) (not (memq major-mode git-gutter:disabled-modes))))
(require 'git-gutter-fringe nil t)) (if (and (display-graphic-p)
(progn (require 'git-gutter-fringe nil t))
(setq-local git-gutter:init-function #'git-gutter-fr:init) (progn
(setq-local git-gutter:view-diff-function #'git-gutter-fr:view-diff-infos) (setq-local git-gutter:init-function #'git-gutter-fr:init)
(setq-local git-gutter:clear-function #'git-gutter-fr:clear) (setq-local git-gutter:view-diff-function #'git-gutter-fr:view-diff-infos)
(setq-local git-gutter:window-width -1)) (setq-local git-gutter:clear-function #'git-gutter-fr:clear)
(setq-local git-gutter:init-function 'nil) (setq-local git-gutter:window-width -1))
(setq-local git-gutter:view-diff-function #'git-gutter:view-diff-infos) (setq-local git-gutter:init-function 'nil)
(setq-local git-gutter:clear-function #'git-gutter:clear-diff-infos) (setq-local git-gutter:view-diff-function #'git-gutter:view-diff-infos)
(setq-local git-gutter:window-width 1)) (setq-local git-gutter:clear-function #'git-gutter:clear-diff-infos)
(git-gutter-mode +1) (setq-local git-gutter:window-width 1))
(remove-hook 'after-save-hook #'+vc-gutter-init-maybe-h 'local)))))) (git-gutter-mode +1)
(remove-hook 'after-save-hook #'+vc-gutter-init-maybe-h 'local)))))))
;; Disable in Org mode, as per ;; Disable in Org mode, as per
;; <https://github.com/syl20bnr/spacemacs/issues/10555> and ;; <https://github.com/syl20bnr/spacemacs/issues/10555> and