aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClarityStorm <45301623+claritystorm@users.noreply.github.com>2021-05-18 01:09:20 +0100
committerBozhidar Batsov <bozhidar.batsov@gmail.com>2021-05-24 10:21:46 +0300
commit09efd74d83f92830d4a6afcf1d741e84dd2058fd (patch)
treef82ee9a0b9aba57def972ebaf7c27d66e6dd9ada
parent35c6f9898272796694d04ab4fc4fbc85751e6b44 (diff)
Add new command `projectile-reset-known-projects`
-rw-r--r--CHANGELOG.md3
-rw-r--r--projectile.el7
-rw-r--r--test/projectile-test.el8
3 files changed, 18 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 62afc84..73f43c7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,10 @@
## master (unreleased)
+### New features
+
* Add `projectile-update-project-type-function` for updating the properties of existing project types
+* [#1658](https://github.com/bbatsov/projectile/pull/1658): New command `projectile-reset-known-projects`.
### Changes
diff --git a/projectile.el b/projectile.el
index be127d7..779760d 100644
--- a/projectile.el
+++ b/projectile.el
@@ -4656,6 +4656,13 @@ See `projectile--cleanup-known-projects'."
(projectile-save-known-projects))
;;;###autoload
+(defun projectile-reset-known-projects ()
+ "Clear known projects and rediscover."
+ (interactive)
+ (projectile-clear-known-projects)
+ (projectile-discover-projects-in-search-path))
+
+;;;###autoload
(defun projectile-remove-known-project (&optional project)
"Remove PROJECT from the list of known projects."
(interactive (list (projectile-completing-read
diff --git a/test/projectile-test.el b/test/projectile-test.el
index d5f6962..08c9ff6 100644
--- a/test/projectile-test.el
+++ b/test/projectile-test.el
@@ -1509,6 +1509,14 @@ Just delegates OPERATION and ARGS for all operations except for`shell-command`'.
(projectile-clear-known-projects)
(expect projectile-known-projects :to-equal nil))))
+(describe "projectile-reset-known-projects"
+ (it "resets known projects"
+ (spy-on 'projectile-clear-known-projects)
+ (spy-on 'projectile-discover-projects-in-search-path)
+ (projectile-reset-known-projects)
+ (expect 'projectile-clear-known-projects :to-have-been-called)
+ (expect 'projectile-discover-projects-in-search-path :to-have-been-called)))
+
(describe "projectile-test-ignored-directory-p"
(it "ignores specified literal directory values"
(spy-on 'projectile-ignored-directories :and-return-value '("/path/to/project/tmp"))