summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacs/custom/my-git.el32
1 files changed, 25 insertions, 7 deletions
diff --git a/emacs/custom/my-git.el b/emacs/custom/my-git.el
index 7a3a345..2270f91 100644
--- a/emacs/custom/my-git.el
+++ b/emacs/custom/my-git.el
@@ -4,6 +4,27 @@
;;; Code:
+(require 'magit)
+(require 'git-link)
+
+;;; settings
+(setq vc-follow-symlinks t)
+
+;; we're not barbarians
+(setq git-commit-summary-max-length 70)
+
+;; open the link in the browser
+(setq git-link-open-in-browser 't)
+
+;; I prefer to have the status buffer in full frame
+(setq magit-display-buffer-function #'magit-display-buffer-fullframe-status-v1)
+
+;; expand a number of sections with magit
+(add-to-list 'magit-section-initial-visibility-alist '(untracked . show))
+(add-to-list 'magit-section-initial-visibility-alist '(unstaged . show))
+(add-to-list 'magit-section-initial-visibility-alist '(unpulled . show))
+(add-to-list 'magit-section-initial-visibility-alist '(unpushed . show))
+
(add-to-list 'auto-mode-alist '("\\.gitconfig\\'" . gitconfig-mode))
(add-to-list 'auto-mode-alist '("\\.git/config\\'" . gitconfig-mode))
(add-to-list 'auto-mode-alist '("\\.gitmodules\\'" . gitconfig-mode))
@@ -11,9 +32,12 @@
(add-to-list 'auto-mode-alist '("\\.dockerignore\\'" . gitconfig-mode))
(add-to-list 'auto-mode-alist '("\\.gitattributes\\'" . gitattributes-mode))
-(setq vc-follow-symlinks t)
+;;; bindings
(global-set-key (kbd "C-x g") 'magit-status)
+(global-set-key (kbd "C-c g l") 'git-link)
+(global-set-key (kbd "C-c g c") 'git-link-commit)
+;;; hooks
(defun my/git-commit-auto-fill ()
"Ensures that the commit body does not exceed 72 characters."
(setq-local fill-column 72)
@@ -21,12 +45,6 @@
(add-hook 'git-commit-mode-hook 'my/git-commit-auto-fill)
-(customize-set-variable 'git-commit-summary-max-length 70)
-
-(global-set-key (kbd "C-c g l") 'git-link)
-(global-set-key (kbd "C-c g c") 'git-link-commit)
-(customize-set-variable 'git-link-open-in-browser 't)
-
(provide 'my-git)
;;; my-git.el ends here