dotfiles/.config/emacs/modules/editor/earnemod-git.el

51 lines
1.0 KiB
EmacsLisp

;;; earnemod-git.el --- -*- lexical-binding: t; -*-
;; Copyright (C) 2020-2021 earnest ma
;; SPDX-License-Identifier: MIT
;; Author: earnest ma <me@earne.link>
;;; Code:
(use-package ghq
:if (executable-find "ghq")
:general
(earnemacs-spc-def
"gc" 'ghq))
(use-package magit
:demand
:general
(earnemacs-spc-def
"g." 'magit-dispatch
"gb" 'magit-branch
"gf" 'magit-fetch
"gF" 'magit-pull
"gg" 'magit-status
"gs" 'magit-stage-file
"gS" 'magit-unstage-file
"gm" 'magit-merge
"gM" 'magit-remote
"gP" 'magit-push
"gr" 'magit-rebase
"gz" 'magit-stash)
:config
;; Set default state to Emacs
(evil-set-initial-state 'magit-status-mode 'emacs))
(use-package git-gutter
:demand
:config
;; Update every 2 seconds
(setq git-gutter:update-interval 2)
;; Load
(global-git-gutter-mode))
;; Follow symlinks
(setq vc-follow-symlinks t)
;; Major mode for editing git files (ignore, attributes...)
(use-package git-modes)
(provide 'earnemod-git)
;;; earnemod-git.el ends here