;;; module-consult-projectile.el --- consult/projectile integration ;;; ;;; Commentary: ;;; ;;; Integrate consult with projectile. ;;; ;;; Code: (require 'module-pkg) (require 'module-consult) (require 'module-projectile) (pkg/require 'consult-projectile) (with-eval-after-load 'consult-projectile (defun my-consult-projectile-find-file () "Use consult-projectile-find-file, consult-find-file outside of project." (interactive) (if (projectile-project-p) (consult-projectile-find-file) (consult-projectile))) (pkg/with-eval-after-load (consult projectile) (advice-add 'projectile-find-file :override #'consult-projectile-find-file) (advice-add 'projectile-find-dir :override #'consult-projectile-find-dir) (advice-add 'projectile-switch-to-buffer :override #'consult-projectile-switch-to-buffer) (advice-add 'projectile-switch-project :override #'consult-projectile-switch-project)) (global-set-key (kbd "C-x p") projectile-command-map) (define-key projectile-command-map (kbd "f") #'consult-projectile-find-file) (define-key projectile-command-map (kbd "d") #'consult-projectile-find-dir) (define-key projectile-command-map (kbd "b") #'consult-projectile-switch-to-buffer) (define-key projectile-command-map (kbd "s") #'consult-projectile-switch-project) (define-key projectile-command-map (kbd "p") #'consult-projectile) (define-key projectile-command-map (kbd "/") #'consult-ripgrep) (define-key projectile-command-map (kbd "f") #'my-consult-projectile-find-file)) (provide 'module-consult-projectile) ;;; module-consult-projectile.el ends here.