aboutsummaryrefslogtreecommitdiffstats
path: root/modules/init-git.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/init-git.el')
-rw-r--r--modules/init-git.el33
1 files changed, 21 insertions, 12 deletions
diff --git a/modules/init-git.el b/modules/init-git.el
index 7e96247..35a37ff 100644
--- a/modules/init-git.el
+++ b/modules/init-git.el
@@ -48,17 +48,22 @@
(defun my-goto-git-gutter ()
(interactive)
- (if git-gutter-fr:diffinfos
- (ivy-read "git-gutters-fr:"
- (mapcar 'my-reshape-git-gutter git-gutter-fr:diffinfos)
- :action (lambda (e)
- ;; ivy9+ keep `(car e)'
- ;; ivy8- strip the `(car e)'
- ;; we handle both data structure
- (unless (numberp e) (setq e (cdr e)))
- (with-no-warnings
- (goto-line e))))
- (message "NO git-gutters-fringe!")))))
+ (eval-when-compile (require 'git-gutter-fringe nil t))
+ (when (and (require 'git-gutter-fringe nil t)
+ (fboundp 'ivy-read))
+
+ (if git-gutter-fr:diffinfos
+ (ivy-read "git-gutters-fr:"
+ (mapcar 'my-reshape-git-gutter git-gutter-fr:diffinfos)
+ :action (lambda (e)
+ ;; ivy9+ keep `(car e)'
+ ;; ivy8- strip the `(car e)'
+ ;; we handle both data structure
+ (unless (numberp e) (setq e (cdr e)))
+ (with-no-warnings
+ (goto-line e))))
+ (message "NO git-gutters-fringe!"))
+ ))))
(use-package gitconfig-mode
:ensure t
@@ -93,7 +98,11 @@
(goto-char (point-min))
(when (re-search-forward "^<<<<<<< " nil t)
(smerge-mode +1)))))
- (add-hook 'buffer-list-update-hook #'enable-smerge-maybe))
+
+ (eval-when-compile (require 'smerge-mode nil t))
+ (when (and (require 'smerge-mode nil t)
+ (fboundp 'enable-smerge-maybe))
+ (add-hook 'buffer-list-update-hook #'enable-smerge-maybe)))
(provide 'init-git)