aboutsummaryrefslogtreecommitdiff
path: root/projectile.el
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.dev>2026-02-15 18:25:20 +0200
committerBozhidar Batsov <bozhidar@batsov.dev>2026-03-10 10:55:08 +0200
commit02859277e6aed175012c0af551ac4d7a44b92f05 (patch)
treeda0599b85d43ae0ae11ea795db660b5969c972a1 /projectile.el
parent4622b8f24d195cd93c677655468508c5e0bfeb4c (diff)
Add projectile-find-file-all to find files ignoring VCS rules
Closes #1001 Add a new command that lists all files under the project root using a generic file listing command (fd or find), bypassing .gitignore, .projectile, and other ignore mechanisms. This is useful when you need to find files that are normally excluded from the project.
Diffstat (limited to 'projectile.el')
-rw-r--r--projectile.el16
1 files changed, 16 insertions, 0 deletions
diff --git a/projectile.el b/projectile.el
index 16536a5..c0591d5 100644
--- a/projectile.el
+++ b/projectile.el
@@ -2665,6 +2665,21 @@ With a prefix arg INVALIDATE-CACHE invalidates the cache first."
(projectile--find-file invalidate-cache #'find-file-other-frame))
;;;###autoload
+(defun projectile-find-file-all ()
+ "Jump to any file in the project, ignoring VCS and projectile ignore rules.
+This lists all files under the project root using a generic file listing
+command (fd or find), bypassing `.gitignore', `.projectile', and other
+ignore mechanisms."
+ (interactive)
+ (let* ((project-root (projectile-acquire-root))
+ (all-files (projectile-files-via-ext-command project-root projectile-generic-command))
+ (file (projectile-completing-read "Find file (all): " all-files
+ :caller 'projectile-read-file)))
+ (when file
+ (find-file (expand-file-name file project-root))
+ (run-hooks 'projectile-find-file-hook))))
+
+;;;###autoload
(defun projectile-toggle-project-read-only ()
"Toggle project read only."
(interactive)
@@ -6426,6 +6441,7 @@ Magit that don't trigger `find-file-hook'."
'("Projectile" :visible projectile-show-menu
("Find..."
["Find file" projectile-find-file]
+ ["Find file (all, ignoring rules)" projectile-find-file-all]
["Find file in known projects" projectile-find-file-in-known-projects]
["Find test file" projectile-find-test-file]
["Find directory" projectile-find-dir]