(require 'config-package) (defhydra hydra-magit (:color blue :hint nil :columns 3) "magit" ("RET" magit-visit-thing "visit magit things at point") ("s" magit-status "status") ("d" magit-diff "diff") ("c" magit-commit "commit") ("C" magit-commit-amend "commit-amend") ("r" magit-rebase-interactive "rebase-interactive") ("m" magit-merge "merge") ("l" magit-log-current "log") ("q" nil "exit")) (use-package magit :mode (("differential-update-comments" . git-commit-mode) ("new-commit" . git-commit-mode)) :bind (("C-c g" . hydra-magit/body) ("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)