NonGNU-devel ELPA - projectile

projectile Atom Feed

Description
Manage and navigate projects in Emacs easily
Latest
projectile-3.4.0snapshot0.20260730.29.tar (.sig), 2026-Jul-30, 970 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.4.0snapshot0.20260729.20.tar.lz2026-Jul-29 191 KiB
projectile-3.4.0snapshot0.20260729.16.tar.lz2026-Jul-29 190 KiB
projectile-3.4.0snapshot0.20260728.15.tar.lz2026-Jul-28 189 KiB
projectile-3.4.0snapshot0.20260727.4.tar.lz2026-Jul-27 180 KiB
projectile-3.3.0snapshot0.20260726.54.tar.lz2026-Jul-26 179 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
  • #2138: Better support for OCaml, Erlang and F#.
    • projectile-run-test-at-point learns erlang-ts-mode (EUnit's _test/_test_ functions, run as rebar3 eunit --test=module:name) and fsharp-ts-mode (bindings attributed [<Fact>], [<Theory>], [<Test>], [<TestCase>] or [<Property>], run through dotnet test --filter).
    • The ocaml-dune and rebar project types gained their run, install, package and source/test directory attributes, and a new erlang-mk type covers the other common Erlang build tool.
    • OCaml deliberately gets no test-at-point rule: its tests are ordinary values registered with Alcotest or OUnit rather than anything the syntax marks out, so there is nothing to recognize.
  • #2137: Ship :file-kinds tables for Phoenix, Laravel and Next.js, so projectile-find-file-of-kind (s-p j) and projectile-toggle-related-file (s-p J) work in those out of the box - Rails and Django were the only frameworks covered before.
    • Phoenix keys a resource's modules on the name they share (user_controller.ex, user_html.ex, user_live.ex), Laravel on the model's class name, Next.js on the app router's directory.
    • Adds a nextjs project type (next.config.js and friends) to hang the last of those on.
  • #2136: projectile-run-test-at-point now knows Ruby (RSpec and Minitest), Rust, Elixir and Java, on top of the Python, Go and JS/TS rules it shipped with.
    • Ruby is written the same way whichever framework you use, so the project type picks the runner; Java's picks between Maven and Gradle, and takes the class name from the file.
    • ExUnit can't select a test by name from the command line, so Elixir tests are addressed as FILE:LINE.
  • #2135: Add projectile-ignored-project-patterns, the regexp-matching sibling of projectile-ignored-projects (exact paths) and projectile-ignored-project-function (a predicate), so keeping whole areas of a machine out of the known projects doesn't need a lambda.
  • #2134: Add projectile-find-changed-file (s-p C), which completes over the files git reports as staged, unstaged or untracked - or, with a prefix argument, over everything that differs from a revision you pick.
  • #2133: projectile-doctor findings you can act on now carry a button that does it - [enable] for a disabled projectile-mode, [enable caching] on a large uncached project, [open dirconfig] for a .projectile with prefix-less lines, [edit .dir-locals.el] for an undetected project type. Pressing one regenerates the report, so the finding answers for itself; findings Projectile can't act on stay plain advice.
  • #2132: The dashboard gained a "Notable files" section linking the project's README, changelog, license, its type's own manifest and its .projectile (see projectile-dashboard-link-files), plus a count of its open buffers and a summary of the ignore rules in effect.
    • A project with nothing cached now offers an [index now] button instead of only reporting that it isn't indexed.
    • Both report buffers set up outline-minor-mode over their sections, so a long report folds with the usual outline keys, and their footers derive the keys they advertise with substitute-command-keys rather than hardcoding them.
  • #2131: The projectile-doctor and projectile-dashboard buffers are no longer plain text: section headers, field labels, the project's identity and the doctor's findings are faced by meaning, with the findings colored by severity and sorted so anything wanting action comes first. ... ...