projectile 
- Description
- Manage and navigate projects in Emacs easily
- Latest
- projectile-3.3.0snapshot0.20260721.20.tar (.sig), 2026-Jul-21, 770 KiB
- Maintainer
- Bozhidar Batsov <bozhidar@batsov.dev>
- Website
- https://github.com/bbatsov/projectile
- Browse ELPA's repository
- CGit or Gitweb
- All Dependencies
- compat (.tar)
- Badge
To install this package from Emacs, use package-install or list-packages.
Full description
Projectile is a project interaction library for Emacs. It provides a powerful set of features operating at the project level, as well as simple heuristics to identify projects. See the README and https://docs.projectile.mx for more details.
Old versions
| projectile-3.3.0snapshot0.20260720.7.tar.lz | 2026-Jul-20 | 150 KiB |
| projectile-3.3.0snapshot0.20260720.5.tar.lz | 2026-Jul-20 | 150 KiB |
| projectile-3.3.0snapshot0.20260718.4.tar.lz | 2026-Jul-18 | 148 KiB |
| projectile-3.3.0snapshot0.20260712.1.tar.lz | 2026-Jul-12 | 148 KiB |
| projectile-3.2.0snapshot0.20260712.10.tar.lz | 2026-Jul-12 | 148 KiB |
| projectile-3.0.0.0.20260703.27.tar.lz | 2026-Jul-03 | 101 KiB |
| projectile-2.10.0.20260701.159.tar.lz | 2026-Jul-01 | 88.7 KiB |
| projectile-2.9.1.0.20260214.223545.tar.lz | 2026-Feb-15 | 63.8 KiB |
| projectile-2.8.0.0.20240210.170605.tar.lz | 2024-Feb-10 | 60.2 KiB |
| projectile-2.5.0.0.20210819.81714.tar.lz | 2021-Aug-19 | 63.2 KiB |
News
Changelog
master (unreleased)
New features
- #2104: Alien indexing now honors Projectile's ignore rules, which it previously skipped entirely.
- The rules are pushed into the external tool (
git ls-filesexclude pathspecs,fd --exclude), so the filtering still happens outside Emacs. - Tools that can't express exclusions (svn, fossil, bzr, darcs, pijul, plain
find) have their output filtered in Emacs Lisp instead. - Dirconfig
+keep entries have no equivalent in the tools and stayhybrid/nativeonly. - Alien projects will list fewer files than before; set
projectile-alien-honors-ignoresto nil for the old behavior.
- The rules are pushed into the external tool (
- #2096: Add an optional Embark/Marginalia integration, wired via
with-eval-after-loadso neither package becomes a dependency.- A
project-filetransformer resolves Projectile's project-relative candidates, augmenting Embark's own rather than replacing it. - Project prompts use a new
projectile-projectcategory with an action keymap (switch, vc, dired, remove) and a Marginalia annotator.
- A
Changes
- #2107: Projectile's ignore configuration now speaks gitignore patterns everywhere, matched the same way by every indexing method.
projectile-globally-ignored-directories,projectile-globally-ignored-filesandprojectile-globally-ignored-file-suffixesjoin the.projectile-entries in one pattern language and one matcher: a slashless pattern matches at any depth, a pattern with a slash is anchored at the project root, a trailing/means directory-only, and*,**,?and[...]are wildcards.- The
*prefix inprojectile-globally-ignored-directoriesis no longer a marker meaning "at any depth" (that's now the default) - it's a plain wildcard, so*node_modulesshould becomenode_modules. The default entry*.oscbecame.oscaccordingly. - A bare entry is no longer top-level-only under
hybrid; write/tmpif you meant only the project root. projectile-global-ignore-file-patternsstays what it always was - Emacs regexps - and therefore applies undernativeindexing only.- Dirconfig
!ensure entries now apply underalientoo (such a project gives up the push-down and is filtered in Emacs Lisp, since an exclusion argument can't be taken back). projectile-index-directoryno longer takes the three optional list arguments; it derives everything from the compiled patterns it is handed.
- #2104: Ignore matching is now case-sensitive under every indexing method, where
nativeandhybridpreviously folded case (so.elcalso hidBUILD.ELC); the external tools behindaliencan't express that, so spell out both cases if you relied on it. - #2104: Drop
.ensime_cacheand.eunitfrom the defaultprojectile-globally-ignored-directories, as ENSIME was archived in 2018 and.eunitis a rebar2 artifact. - #2104: Remove
projectile-warn-when-dirconfig-is-ignored, which existed only to warn thatalienbypassed the dirconfig. - #2099: Drop the standalone package headers (
Version,Package-Requires) fromprojectile-consult.el, since the phantomPackage-Requiresmade build tooling treat an in-package module as its own package (it brokeeldevtest runs on Emacs 28.x).
3.2.1 (2026-07-13)
Bugs fixed
- #2094: Fix a
wrong-type-argument stringpcrash when runningprojectile-search(a 3.2.0 regression): the search-prompt tool tag now accepts the backend name symbol, not just a string. ... ...