blob: 9a39bcd492f6cb151e3422f9bc9febde3946a355 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
(use-package git-commit
:ensure t
:after markdown-mode
:init
;; use gfm-mode as major mode
(setq git-commit-major-mode 'gfm-mode))
(defun mpolden/magit-visit-file-other-window (&optional noselect)
"Visit current file in another window."
(interactive)
(let ((current-window (selected-window)))
(call-interactively 'magit-diff-visit-file-other-window)
(when noselect
(select-window current-window))))
(defun mpolden/magit-visit-file-other-window-noselect ()
"Visit current file in another window, but don't select it."
(interactive)
(mpolden/magit-visit-file-other-window t))
(use-package magit
:ensure t
:init
;; disable gravatars
(setq magit-revision-show-gravatars nil)
;; hide recent commits in magit-status
(setq magit-log-section-commit-count 0)
:bind (("C-x m" . magit-status)
("C-c b" . magit-blame)
:map magit-status-mode-map
;; make C-o and o behave as in dired
("o" . mpolden/magit-visit-file-other-window)
("C-o" . mpolden/magit-visit-file-other-window-noselect)))
(use-package forge
:ensure t
:after magit
:init
;; limit number of topics listed in status buffer
(setq forge-topic-list-limit '(10 . 0))
:bind (;; killing in pullreq or issue section copies the url at point
:map forge-pullreq-section-map
([remap magit-delete-thing] . forge-copy-url-at-point-as-kill)
:map forge-issue-section-map
([remap magit-delete-thing] . forge-copy-url-at-point-as-kill)))
(use-package vc-hooks
:init
;; follow symlinks to files under version control
(setq vc-follow-symlinks t)
;; limit vc backends as this may speed up some operations, e.g. tramp
(setq vc-handled-backends '(Git)))
(use-package vc-git
:after grep)
(use-package smerge-mode
:init
(setq smerge-command-prefix (kbd "C-c x")))
(provide 'init-git)
|