From e654d16f32979e3206583c46db2801f8d73971bd Mon Sep 17 00:00:00 2001 From: James Bunton Date: Mon, 25 Jul 2016 09:24:58 +1000 Subject: [PATCH] git-gutter --- .gitmodules | 9 +++++++++ lisp/my-defuns.el | 5 +++++ lisp/my-keys.el | 6 ++++++ lisp/my-minor-modes.el | 6 ++++++ lisp/my-other-modes.el | 3 +++ packages/fringe-helper | 1 + packages/git-gutter | 1 + packages/git-gutter-fringe | 1 + 8 files changed, 32 insertions(+) create mode 160000 packages/fringe-helper create mode 160000 packages/git-gutter create mode 160000 packages/git-gutter-fringe diff --git a/.gitmodules b/.gitmodules index 7602c46..a1c926b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -97,3 +97,12 @@ [submodule "avy"] path = packages/avy url = https://github.com/abo-abo/avy.git +[submodule "git-gutter"] + path = packages/git-gutter + url = https://github.com/syohex/emacs-git-gutter.git +[submodule "git-gutter-fringe"] + path = packages/git-gutter-fringe + url = https://github.com/syohex/emacs-git-gutter-fringe.git +[submodule "fringe-helper"] + path = packages/fringe-helper + url = https://github.com/nschum/fringe-helper.el.git diff --git a/lisp/my-defuns.el b/lisp/my-defuns.el index ee4d4e4..3c51d9b 100644 --- a/lisp/my-defuns.el +++ b/lisp/my-defuns.el @@ -30,6 +30,11 @@ (defun my/frame-list-ignoring-initial-frame () (filtered-frame-list (lambda (frame) (not (my/frame-initial-frame-p frame))))) +(defun my/git-reset-buffer () + (interactive) + (call-process "git" nil nil nil "reset" (buffer-file-name)) + (git-gutter)) + (defun my/kill-buffer-safely (buffer) "Kill the buffer if it is not special or modified" (if (and diff --git a/lisp/my-keys.el b/lisp/my-keys.el index 601a7d8..e3538f1 100644 --- a/lisp/my-keys.el +++ b/lisp/my-keys.el @@ -15,6 +15,12 @@ (global-set-key (kbd "C-x c") 'my/kill-buffers-not-in-frame) (global-set-key (kbd "C-x C-b") 'ibuffer) (global-set-key (kbd "C-x C-r") 'ivy-recentf) +(global-set-key (kbd "C-c g d") 'git-gutter:popup-hunk) +(global-set-key (kbd "C-c g p") 'git-gutter:previous-hunk) +(global-set-key (kbd "C-c g n") 'git-gutter:next-hunk) +(global-set-key (kbd "C-c g a") 'git-gutter:stage-hunk) +(global-set-key (kbd "C-c g u") 'git-gutter:revert-hunk) +(global-set-key (kbd "C-c g r") 'my/git-reset-buffer) ;; Windows/frames (global-set-key (kbd "") 'windmove-up) diff --git a/lisp/my-minor-modes.el b/lisp/my-minor-modes.el index 7f3c63d..ad140c2 100644 --- a/lisp/my-minor-modes.el +++ b/lisp/my-minor-modes.el @@ -10,6 +10,11 @@ (require 'expand-region) +(require 'git-gutter) +(require 'git-gutter-fringe) +(setq git-gutter:ask-p nil) +(global-git-gutter-mode) + (require 'indent-guide) (indent-guide-global-mode) @@ -29,6 +34,7 @@ (lambda () (set (make-local-variable 'yas-indent-line) 'fixed))) (require 'diminish) +(diminish 'git-gutter-mode) (diminish 'indent-guide-mode) (diminish 'ivy-mode) (diminish 'yas-minor-mode) diff --git a/lisp/my-other-modes.el b/lisp/my-other-modes.el index de7ef71..62b7e7f 100644 --- a/lisp/my-other-modes.el +++ b/lisp/my-other-modes.el @@ -19,6 +19,9 @@ (popwin-mode 1) (push '(direx:direx-mode :position left :width 40 :dedicated t) popwin:special-display-config) +(push '("*git-gutter:diff*" :stick t) + popwin:special-display-config) + (require 'restclient) (setq require-final-newline t) diff --git a/packages/fringe-helper b/packages/fringe-helper new file mode 160000 index 0000000..ef4a9c0 --- /dev/null +++ b/packages/fringe-helper @@ -0,0 +1 @@ +Subproject commit ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd diff --git a/packages/git-gutter b/packages/git-gutter new file mode 160000 index 0000000..4678571 --- /dev/null +++ b/packages/git-gutter @@ -0,0 +1 @@ +Subproject commit 46785711d9be4ea718bcf738e49e6b6bea805342 diff --git a/packages/git-gutter-fringe b/packages/git-gutter-fringe new file mode 160000 index 0000000..dfc93d1 --- /dev/null +++ b/packages/git-gutter-fringe @@ -0,0 +1 @@ +Subproject commit dfc93d1064df154a809aab350942830408051da3 -- 2.39.2