aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.dev>2026-02-15 18:22:17 +0200
committerBozhidar Batsov <bozhidar@batsov.dev>2026-02-15 18:22:17 +0200
commit0368fa77916840e2a506f9bdecde27c3a8eeb68c (patch)
treeb0e011ea0141035bade7b116bb55fb7c18433076
parentdd06dfd912656d41f2c63066aa8bacb898ddf7a2 (diff)
Allow projectile-dired commands to prompt for a projectfeature/1684-dired-prefix-arg
Closes #1684 With a prefix argument, projectile-dired, projectile-dired-other-window, and projectile-dired-other-frame now prompt for a known project to open in dired, rather than always using the current project.
-rw-r--r--projectile.el39
1 files changed, 27 insertions, 12 deletions
diff --git a/projectile.el b/projectile.el
index 6c5306b..456da03 100644
--- a/projectile.el
+++ b/projectile.el
@@ -5049,22 +5049,37 @@ The buffers are killed according to the value of
(message "[%s] Saved %d buffers" project-name (length modified-buffers)))))
;;;###autoload
-(defun projectile-dired ()
- "Open `dired' at the root of the project."
- (interactive)
- (dired (projectile-acquire-root)))
+(defun projectile-dired (&optional arg)
+ "Open `dired' at the root of the project.
+With a prefix argument ARG, prompt for a known project to open in dired."
+ (interactive "P")
+ (dired (if arg
+ (projectile-completing-read
+ "Dired in project: " (projectile-relevant-known-projects)
+ :caller 'projectile-read-project)
+ (projectile-acquire-root))))
;;;###autoload
-(defun projectile-dired-other-window ()
- "Open `dired' at the root of the project in another window."
- (interactive)
- (dired-other-window (projectile-acquire-root)))
+(defun projectile-dired-other-window (&optional arg)
+ "Open `dired' at the root of the project in another window.
+With a prefix argument ARG, prompt for a known project to open in dired."
+ (interactive "P")
+ (dired-other-window (if arg
+ (projectile-completing-read
+ "Dired in project: " (projectile-relevant-known-projects)
+ :caller 'projectile-read-project)
+ (projectile-acquire-root))))
;;;###autoload
-(defun projectile-dired-other-frame ()
- "Open `dired' at the root of the project in another frame."
- (interactive)
- (dired-other-frame (projectile-acquire-root)))
+(defun projectile-dired-other-frame (&optional arg)
+ "Open `dired' at the root of the project in another frame.
+With a prefix argument ARG, prompt for a known project to open in dired."
+ (interactive "P")
+ (dired-other-frame (if arg
+ (projectile-completing-read
+ "Dired in project: " (projectile-relevant-known-projects)
+ :caller 'projectile-read-project)
+ (projectile-acquire-root))))
;;;###autoload
(defun projectile-vc (&optional project-root)