projectile 
- Description
- Manage and navigate projects in Emacs easily
- Latest
- projectile-2.9.1.tar (.sig), 2025-Feb-13, 350 KiB
- Maintainer
- Bozhidar Batsov <bozhidar@batsov.dev>
- Website
- https://github.com/bbatsov/projectile
- Browse ELPA's repository
- CGit or Gitweb
- 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-2.9.0.tar.lz | 2025-Feb-12 | 61.5 KiB |
projectile-2.8.0.tar.lz | 2024-Mar-31 | 59.6 KiB |
projectile-2.7.0.tar.lz | 2022-Nov-22 | 58.2 KiB |
projectile-2.6.0.tar.lz | 2022-Oct-25 | 56.6 KiB |
projectile-2.5.0.tar.lz | 2021-Aug-11 | 63.0 KiB |
News
Changelog
master (unreleased)
2.9.1 (2025-02-13)
Bugs Fixed
- #1929: Don't create cache files when
projectile-use-caching
is not set topersistent
.
2.9.0 (2025-02-12)
New features
- #1870: Add package command for CMake projects.
- #1875: Add support for Sapling VCS.
- #1876: Add support for Jujutsu VCS.
- #1877: Add custom variable
projectile-cmd-hist-ignoredups
. - Add support for Eask projects.
- #1892: Add category metadata to
completing-read
. (it's used by packages likemarginalia
andembark
) - #1899: Add support for xmake build utility.
- #1895: Modify projectile-mode to add a hook to
buffer-list-update-hook
such that any change in the buffer list will update the selected project. - #1918: Add Zig project discovery.
- Add support for Swift project discovery.
- Introduce
projectile-global-ignore-file-patterns
config that allows to ignore files and directories with regexp patterns. - Introduce
projectile-auto-cleanup-known-projects
option that allows you to auto-cleanup missing projects.
Bugs fixed
- #1881: Fix
projectile-recentf
when called outside any project. - #1910: Reverts #1895 as those changes appear to cause a significant performance regression across a number of use-cases.
- #1915: Fix dotnet-sln project-type recognition. (check
*.sln
files instead ofsrc/
) - #1850: Ensure the presence of a project in
projectile-compilation-dir
. - #1811: Revert a change to
projectile-ignored-directories
that had converted them into regular expressions. - #1893: Fix
projectile-discover-projects-in-directory
when called interactively.
Changes
- #1874: Changes
compilation-find-file-projectile-find-compilation-buffer
to navigate directly to the file if already present on disk to help improve performance in scenarios where there are a large number of project directories. - Drop support for Emacs 25.
Rework the caching logic. The main changes from before are:
- Each project has its own cache file
- Cache files are consulted only when you request the files of some project
This makes caching both more robust and faster, as before the cache file for all projects was loaded when projectile-mode was enabled.
- Make the cache transient by default. (meaning it lives only in memory and is not persisted to a file)
- To enable persistent caching you need to set
projectile-enable-caching
to'persistent
.
- To enable persistent caching you need to set
- Speed-up load time by moving known projects initialization outside of
projectile-mode
's init.- As a side effect the known projects will be initialized properly even if you're not using
projectile-mode
. - The projects are read from disk the first time you invoke
projectile-switch-project
or a similar command.
- As a side effect the known projects will be initialized properly even if you're not using
- Introduce a common prefix for project lifecycle command keybindings:
c o
->projectile-configure-project
c c
->projectile-compile-project
c p
->projectile-package-project
c i
->projectile-install-project
c t
->projectile-test-project
c r
->projectile-run-project
- The old keybindings will be removed in a future version of Projectile. ... ...