;;; -*- lexical-binding: t -*- (require 'ediff) (setq ediff-window-setup-function 'ediff-setup-windows-plain ediff-split-window-function 'split-window-horizontally) (require 'git-gutter) (require 'git-gutter-fringe) (setq git-gutter:ask-p nil) (defun git-gutter:popup-hunk (&optional diffinfo) "MODIFIED!! Popup current diff hunk. Removed the `save-window-excursion' so I can control it with shackle." (interactive) (git-gutter:awhen (or diffinfo (git-gutter:search-here-diffinfo git-gutter:diffinfos)) (pop-to-buffer (git-gutter:update-popuped-buffer it)))) (global-git-gutter-mode) (defun my/git-reset-buffer () "Runs git-reset to unstage all changes on the current file. Then updates the git-gutter." (interactive) (call-process "git" nil nil nil "reset" (buffer-file-name)) (git-gutter) (message "Finished git reset")) (require 'ibuffer-vc) (add-hook 'ibuffer-hook (lambda () (ibuffer-vc-set-filter-groups-by-vc-root) (unless (eq ibuffer-sorting-mode 'alphabetic) (ibuffer-do-sort-by-alphabetic)))) (require 'vc) (setq vc-follow-symlinks t)