summary refs log tree commit diff
path: root/emacs.d/modules/module-git.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/modules/module-git.el')
-rw-r--r--emacs.d/modules/module-git.el30
1 files changed, 30 insertions, 0 deletions
diff --git a/emacs.d/modules/module-git.el b/emacs.d/modules/module-git.el
new file mode 100644
index 0000000..f974bfe
--- /dev/null
+++ b/emacs.d/modules/module-git.el
@@ -0,0 +1,30 @@
+(require 'config-package)
+
+(use-package magit
+  :mode (("differential-update-comments" . git-commit-mode)
+         ("new-commit"                   . git-commit-mode))
+
+  :bind (("C-x g s" . magit-status)
+         ("C-x g b" . magit-checkout))
+
+  :init
+  (progn
+    (setq magit-completing-read-function 'ivy-completing-read))
+
+  :config
+  (progn
+    (global-git-commit-mode)
+    (use-package git-commit :ensure t :defer t)
+    (add-hook 'magit-mode-hook
+              (lambda()
+                (setq mode-name "⎇")))
+    (add-hook 'magit-log-edit-mode-hook
+              #'(lambda ()
+                  (set-fill-column 72)
+                  (flyspell-mode)))))
+
+;; I don't care about any frontend other than magit
+(setf vc-handled-backends nil
+      vc-follow-symlinks t)
+
+(provide 'module-git)