mirror of
https://codeberg.org/scip/dot-emacs.git
synced 2025-12-16 20:10:58 +01:00
57 lines
2.0 KiB
EmacsLisp
57 lines
2.0 KiB
EmacsLisp
;; *** Projectile
|
|
(use-package projectile
|
|
:defer nil
|
|
|
|
:init
|
|
(global-unset-key (kbd "C-p"))
|
|
|
|
:bind (:map projectile-mode-map
|
|
("C-p" . projectile-command-map))
|
|
|
|
:config
|
|
(projectile-mode +1)
|
|
|
|
(defun tvd-dir-to-projectile ()
|
|
"drop a .projectile wherever we are"
|
|
(interactive)
|
|
(with-temp-file ".projectile"
|
|
(insert "-.snapshot\n-.git\n-.RCS\n"))
|
|
(message (format "Turned %s into projectile project" default-directory)))
|
|
|
|
(setq projectile-project-search-path '("~/fits/jobs/" "~/.fits/")
|
|
projectile-auto-discover t)
|
|
|
|
(projectile-register-project-type 'fitsjob '("README")
|
|
:project-file '("README?*" "?*.org" "instances"))
|
|
|
|
;; FIXME: add custom docstring
|
|
(when (fboundp 'defhydra)
|
|
(defhydra hydra-projectile
|
|
( :color teal
|
|
:columns 4)
|
|
"Projectile (use C-x p for this menu)"
|
|
("s" projectile-switch-project "Switch Project")
|
|
("f" projectile-find-file "Find File")
|
|
("r" projectile-recentf "Recent Files")
|
|
("b" projectile-ibuffer "Show Project Buffers")
|
|
|
|
("g" projectile-grep "Grep")
|
|
("o" projectile-multi-occur "Multi Occur")
|
|
("d" projectile-dired "Project Dired")
|
|
("R" projectile-replace "Replace in Project")
|
|
|
|
("C" projectile-invalidate-cache "Clear Cache")
|
|
("t" projectile-regenerate-tags "Regenerate Tags")
|
|
("X" projectile-cleanup-known-projects "Cleanup Known Projects")
|
|
("n" tvd-dir-to-projectile "Turn current directory into Projectile")
|
|
|
|
("c" projectile-commander "Commander")
|
|
("k" projectile-kill-buffers "Kill Buffers")
|
|
("q" nil "Cancel" :color blue))
|
|
|
|
(global-set-key (kbd "C-x p") 'hydra-projectile/body)))
|
|
|
|
|
|
(provide 'init-projectile)
|
|
;;; init-projectile.el ends here
|