summaryrefslogblamecommitdiff
path: root/config/init-project.el
blob: 3a87e0cc6680d7d56d52f9d682a6abccf5baa106 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                    









































                                                                                              
 
                    

                                                                    





                                              
 


                             
;;; init-project.el --- Configure project -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>

;;; Commentary:

;; Configure project

;;; Code:

(use-package magit
  :ensure t
  :bind ("C-x g" . magit-status)
  :custom
  (magit-diff-refine-hunk t)
  (magit-clone-default-directory "~/workspace/")
  (git-commit-major-mode 'markdown-mode)
  :config
  ;; show ANSI colors in the process buffer, so it's easier to read what's going on
  ;; for some reasons if it's in the `:custom' section it does not get set
  (setq magit-process-finish-apply-ansi-colors t))

(use-package vc
  :defer t
  :custom
  (vc-command-messages t)
  (vc-follow-symlinks t))

(use-package git-link
  :defines git-link-remote-alist
  :ensure t
  :bind ("C-c Y" . git-link)
  :commands (git-link git-link-commit git-link-homepage)
  :custom
  (git-link-open-in-browser t)
  :config
  ;; sets up roblox git enterprise as a git-link handler
  (add-to-list 'git-link-remote-alist '("github\\.rblx\\.com" git-link-github))
  (add-to-list 'git-link-commit-remote-alist '("github\\.rblx\\.com" git-link-commit-github)))

(use-package rg
  :ensure t
  :custom
  (rg-group-result t)
  (rg-show-columns t)
  (rg-align-line-number-field-length 3)
  (rg-align-column-number-field-length 3)
  (rg-align-line-column-separator "#")
  (rg-align-position-content-separator "|")
  (rg-hide-command nil)
  (rg-align-position-numbers t)
  (rg-command-line-flags '("--follow")))

(use-package project
  :custom
  (project-vc-ignores '("result/" ".direnv/" "target/" ".DS_Store"))
  :config
  (setq project-switch-commands
        '((project-find-file "Find file" f)
          (project-dired "Dired" d)
          (project-eshell "Eshell" e)
          (magit-project-status "Magit" ?m))))

(provide 'init-project)

;;; init-project.el ends here