You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.8 KiB

Dev - Git

Package

Define Git dev package.

  (use-package emacs
    :after uno-dev
    :config
    (provide 'uno-dev-git))

Magit

  (use-package magit
    :after uno-dev-git
    :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")))

Git Files

  (use-package gitattributes-mode
    :after (uno-dev-git uno-mode)
    :config
    (uno/add-prog-mode 'gitattributes-mode))

  (use-package gitconfig-mode
    :after uno-dev-git)

  (use-package gitignore-mode
    :after uno-dev-git)