New features
- #972: Add toggle for project read only mode:
projectile-toggle-project-read-only
. - New interactive command
projectile-run-ielm
. - Add crystal project type.
- #850: Make it possible to prompt for a project, when you're not in a project, instead of raising an error. (see
projectile-require-project-root
). - #1147: Introduce a new indexing method called
hybrid
which behaves like the oldalien
. - #896 Add commands
projectile-previous-project-buffer
and
projectile-next-project-buffer
to switch to other buffer in the project. - #1016: Add a new defcustom (
projectile-current-project-on-switch
) controlling what to do with the current project on switch. - #1233: Add a new defcustom (
projectile-kill-buffers-filter
) controlling which buffers are killed byprojectile-kill-buffers
. - #1279: Add command
projectile-repeat-last-command
to re-execute the last external command in a project.
Changes
- (Breaking) #1147: Remove any post-processing from the
alien
indexing method. - Specify project path for
projectile-regenerate-tags
. - Handle files with special characters in
projectile-get-other-files
. - #1260: ignored-*-p: Now they match against regular expressions.
- (Breaking) Remove the default prefix key (
C-c p
) for Projectile. Users now have to pick one themselves. - Deprecate
projectile-keymap-prefix
. - Avoid "No projects needed to be removed." messages in global mode.
- #1278: Add default
test-suffix
tonpm
project. - #1285: Add default
test-suffix
to Python projects. - #1285: Add support for Pipenv-managed Python projects.
- #1232: Stop evaluating code dynamically in the mode-line and switch to a simpler scheme where the mode-line is updated just once using
find-file-hook
. - Make the mode line configurable via
projectile-dynamic-mode-line
andprojectile-mode-line-function
. - #1205: Check that project directory exists when switching projects.
- Move Projectile's menu out of the "Tools" menu.
- [API] (Breaking) Stop raising errors from
projectile-project-root
if not invoked within a project. Now it will simply return nil. Use it together withprojectile-ensure-project
to emulate the old behavior.