Dev - Git
Define Git dev package.
(use-package emacs
:after uno-dev
:config
(provide 'uno-dev-git))
(use-package magit
:after uno-dev-git
:custom
(magit-diff-refine-hunk t)
:general
(uno-leader-define
"g" '(:ignore t :which-key "Git")
"gc" '(magit-clone :which-key "Git clone")
"gf" '(:ignore t :which-key "Git file")
"gff" '(magit-find-file :which-key "Git file find")
"gfd" '(magit-diff :which-key "Git file diff")
"gfl" '(magit-log-buffer-file :which-key "Git file log")
"gfm" '(magit-file-dispatch :which-key "Git file dispatch")
"gfs" '(magit-stage-file :which-key "Git stage file")
"gfu" '(magit-unstage-file :which-key "Git unstage file")
"gi" '(magit-init :which-key "Git init")
"gl" '(magit-list-repositories :which-key "Git repositories")
"gm" '(magit-dispatch :which-key "Git dispatch")
"gs" '(magit-status :which-key "Git status"))
(uno-mode-leader-define
:keymaps 'with-editor-mode-map
uno-mode-leader-key '(with-editor-finish :which-key "Finish")
"k" '(with-editor-cancel :which-key "Cancel"))
(uno-mode-leader-define
:keymaps 'magit-log-select-mode-map
uno-mode-leader-key '(magit-log-select-pick :which-key "Pick")
"k" '(magit-log-select-quit :which-key "Cancel"))
:init
(uno/add-useful-buffer "magit: .*")
(uno/add-useful-buffer "magit-.*: .*"))
(use-package magit
:after (uno-dev-git mixed-pitch)
:hook
(git-commit-mode . uno/dev/git/commit-mode)
:init
(defun uno/dev/git/commit-mode ()
"Customize commit mode."
(mixed-pitch-mode -1)))
(use-package forge
:unless (eq system-type 'windows-nt)
:after (uno-dev-git magit)
:custom
(forge-database-file (uno-cache-path "forge/database.sqlite"))
:general
(uno-mode-leader-define
:keymaps 'forge-topic-mode-map
"c" '(forge-post-submit :which-key "Create post")
"e" '(forge-post-cancel :which-key "Edit post"))
(uno-mode-leader-define
:keymaps 'forge-post-mode-map
uno-mode-leader-key '(forge-post-submit :which-key "Submit")
"k" '(forge-post-cancel :which-key "Cancel")))
(use-package transient
:after uno-dev-git
:custom
(transient-history-file (uno-cache-path "transient/history.el"))
(transient-levels-file (uno-cache-path "transient/levels.el"))
(transient-values-file (uno-cache-path "transient/values.el")))
(use-package git-modes
:after (uno-dev-git uno-mode)
:config
(uno/add-prog-mode 'gitattributes-mode))
(use-package diff-hl
:after uno-dev-git
:hook
(uno-prog-mode . turn-on-diff-hl-mode)
(uno-prog-mode . diff-hl-flydiff-mode))
(use-package diff-hl
:after (uno-dev-git magit)
:hook
(magit-pre-refresh . diff-hl-magit-pre-refresh)
(magit-post-refresh . diff-hl-magit-post-refresh))