branch: elpa/projectile commit d811e2b844a18855776cd7a1da68982917e82fdd Author: Juergen Hoetzel <juer...@hoetzel.info> Commit: Bozhidar Batsov <bozhi...@batsov.dev>
Add a progress reporter to recursive progress discovery --- CHANGELOG.md | 1 + projectile.el | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd7036d320..63f74c09ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ * [#1447](https://github.com/bbatsov/projectile/issues/1447): Restructure the menu. * [#1692](https://github.com/bbatsov/projectile/issues/1692): Enable minibuffer completions when reading shell-commands. * Change the Grails project marker to `application.yml`. +* [#1789](https://github.com/bbatsov/projectile/pull/1789): Progress reporter for recursive progress discovery ## 2.5.0 (2021-08-10) diff --git a/projectile.el b/projectile.el index 76885983bc..7002b5c0f3 100644 --- a/projectile.el +++ b/projectile.el @@ -1087,10 +1087,16 @@ discover projects there." ;; sometimes that directory is an unreadable one at the root of a ;; volume. This is the case, for example, on macOS with the ;; .Spotlight-V100 directory. - (dolist (dir (ignore-errors (directory-files directory t))) - (when (and (file-directory-p dir) - (not (member (file-name-nondirectory dir) '(".." ".")))) - (projectile-discover-projects-in-directory dir (1- depth)))) + (let ((progress-reporter + (make-progress-reporter + (format "Projectile is discovering projects in %s..." + (propertize directory 'face 'font-lock-keyword-face))))) + (progress-reporter-update progress-reporter) + (dolist (dir (ignore-errors (directory-files directory t))) + (when (and (file-directory-p dir) + (not (member (file-name-nondirectory dir) '(".." ".")))) + (projectile-discover-projects-in-directory dir (1- depth)))) + (progress-reporter-done progress-reporter)) (when (projectile-project-p directory) (let ((dir (abbreviate-file-name (projectile-project-root directory)))) (unless (member dir projectile-known-projects)