diff --git a/core/core-projects.el b/core/core-projects.el index 6e293efc8..193e05724 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -1,7 +1,7 @@ ;;; core-projects.el -*- lexical-binding: t; -*- (def-package! projectile - :after-call (after-find-file dired-before-readin-hook) + :after-call (after-find-file dired-before-readin-hook minibuffer-setup-hook) :commands (projectile-project-root projectile-project-name projectile-project-p) :init (setq projectile-cache-file (concat doom-cache-dir "projectile.cache") diff --git a/modules/ui/modeline/config.el b/modules/ui/modeline/config.el index 26b94c4c3..34e961ad9 100644 --- a/modules/ui/modeline/config.el +++ b/modules/ui/modeline/config.el @@ -27,6 +27,16 @@ (add-hook '+doom-dashboard-mode-hook #'doom-modeline-set-project-modeline) + ;; Don't eager-load project.el. Doom only uses projectile anyway, for now. + (defun +modeline*project-root () + (or doom-modeline-project-root + (setq doom-modeline-project-root + (file-local-name + (if (featurep 'projectile) + (ignore-errors (projectile-project-root)) + default-directory))))) + (advice-add #'doom-modeline-project-root :override #'+modeline*project-root) + ;; Magit -- modeline only where it's useful (defun +modeline|hide-in-non-status-buffer () (if (eq major-mode 'magit-status-mode)