NonGNU-devel ELPA - projectile

projectile Atom Feed

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.lz2026-Jul-20 150 KiB
projectile-3.3.0snapshot0.20260720.5.tar.lz2026-Jul-20 150 KiB
projectile-3.3.0snapshot0.20260718.4.tar.lz2026-Jul-18 148 KiB
projectile-3.3.0snapshot0.20260712.1.tar.lz2026-Jul-12 148 KiB
projectile-3.2.0snapshot0.20260712.10.tar.lz2026-Jul-12 148 KiB
projectile-3.0.0.0.20260703.27.tar.lz2026-Jul-03 101 KiB
projectile-2.10.0.20260701.159.tar.lz2026-Jul-0188.7 KiB
projectile-2.9.1.0.20260214.223545.tar.lz2026-Feb-1563.8 KiB
projectile-2.8.0.0.20240210.170605.tar.lz2024-Feb-1060.2 KiB
projectile-2.5.0.0.20210819.81714.tar.lz2021-Aug-1963.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-files exclude 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 stay hybrid/native only.
    • Alien projects will list fewer files than before; set projectile-alien-honors-ignores to nil for the old behavior.
  • #2096: Add an optional Embark/Marginalia integration, wired via with-eval-after-load so neither package becomes a dependency.
    • A project-file transformer resolves Projectile's project-relative candidates, augmenting Embark's own rather than replacing it.
    • Project prompts use a new projectile-project category with an action keymap (switch, vc, dired, remove) and a Marginalia annotator.
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-files and projectile-globally-ignored-file-suffixes join 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 in projectile-globally-ignored-directories is no longer a marker meaning "at any depth" (that's now the default) - it's a plain wildcard, so *node_modules should become node_modules. The default entry *.osc became .osc accordingly.
    • A bare entry is no longer top-level-only under hybrid; write /tmp if you meant only the project root.
    • projectile-global-ignore-file-patterns stays what it always was - Emacs regexps - and therefore applies under native indexing only.
    • Dirconfig ! ensure entries now apply under alien too (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-directory no 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 native and hybrid previously folded case (so .elc also hid BUILD.ELC); the external tools behind alien can't express that, so spell out both cases if you relied on it.
  • #2104: Drop .ensime_cache and .eunit from the default projectile-globally-ignored-directories, as ENSIME was archived in 2018 and .eunit is a rebar2 artifact.
  • #2104: Remove projectile-warn-when-dirconfig-is-ignored, which existed only to warn that alien bypassed the dirconfig.
  • #2099: Drop the standalone package headers (Version, Package-Requires) from projectile-consult.el, since the phantom Package-Requires made build tooling treat an in-package module as its own package (it broke eldev test runs on Emacs 28.x).

3.2.1 (2026-07-13)

Bugs fixed
  • #2094: Fix a wrong-type-argument stringp crash when running projectile-search (a 3.2.0 regression): the search-prompt tool tag now accepts the backend name symbol, not just a string. ... ...