diff --git a/modules/feature/version-control/+git.el b/modules/feature/version-control/+git.el new file mode 100644 index 000000000..8004e5f25 --- /dev/null +++ b/modules/feature/version-control/+git.el @@ -0,0 +1,43 @@ +;;; core/version-control/+git.el + +(use-package! gitconfig-mode + :mode "/\\.?git/?config$" + :mode "/\\.gitmodules$" + :init (add-hook 'gitconfig-mode-hook 'flyspell-mode)) + +(use-package! gitignore-mode + :mode "/\\.?git/?config$" + :mode "/\\.gitmodules$") + + +(use-package! git-gutter-fringe + :commands git-gutter-mode + :init (add-hook! (text-mode prog-mode conf-mode) 'git-gutter-mode) + :config + (set! :popup ("^\\*git-gutter.+\\*$" :regexp t :size 15 :noselect t)) + + ;; Update git-gutter on focus (in case I was using git externally) + (add-hook 'focus-in-hook 'git-gutter:update-all-windows) + + (after! evil + ;; Refreshing git-gutter on ESC + (advice-add 'evil-force-normal-state :after 'git-gutter))) + + +(use-package! browse-at-remote + :commands (browse-at-remote/browse browse-at-remote/get-url)) + + +(use-package! magit + :commands magit-status + :config + (def-popup! ("^\\*magit.+" :regexp t)) + (after! evil-snipe + ;; evil-snipe conflicts with magit + (add-hook 'magit-mode-hook 'turn-off-evil-snipe-override-mode))) + + +(use-package! evil-magit + :when (featurep 'evil) + :after magit) + diff --git a/modules/feature/version-control/config.el b/modules/feature/version-control/config.el index f8b72a179..ec1258b24 100644 --- a/modules/feature/version-control/config.el +++ b/modules/feature/version-control/config.el @@ -1,32 +1,7 @@ ;;; core/version-control/config.el -(use-package! gitconfig-mode - :mode "/\\.?git/?config$" - :mode "/\\.gitmodules$" - :init (add-hook 'gitconfig-mode-hook 'flyspell-mode)) - -(use-package! gitignore-mode - :mode "/\\.?git/?config$" - :mode "/\\.gitmodules$") - - -(use-package! browse-at-remote - :commands (browse-at-remote/browse browse-at-remote/get-url)) - - -(use-package! magit - :commands magit-status - :config - (def-popup! ("^\\*magit.+" :regexp t)) - (after! evil-snipe - ;; evil-snipe conflicts with magit - (add-hook 'magit-mode-hook 'turn-off-evil-snipe-override-mode))) - - -(use-package! evil-magit - :when (featurep 'evil) - :after magit) - +(load! +git) +;; (load! +hg) (after! vc-annotate (set! :popup diff --git a/modules/feature/version-control/packages.el b/modules/feature/version-control/packages.el index 4415baff8..b01c0f0b0 100644 --- a/modules/feature/version-control/packages.el +++ b/modules/feature/version-control/packages.el @@ -1,8 +1,15 @@ ;; -*- no-byte-compile: t; -*- ;;; core/version-control/packages.el +;;; config.el +;; n/a + +;;; +git (package! browse-at-remote) (package! evil-magit :needs evil) +(package! git-gutter-fringe) (package! gitconfig-mode) (package! gitignore-mode) (package! magit) + +;;; TODO +hg