| Age | Commit message (Collapse) | Author |
|
Three doc gaps surfaced during the indexing review:
* The `*' prefix on `projectile-globally-ignored-directories' entries
is not a glob - it is what promotes a basename match from
"anchored at the project root" to "anywhere in the tree", and it
only takes effect under hybrid indexing.
* The default `projectile-generic-command' picks `fd' when it's on
PATH and falls back to a `find ... | tr ...' pipeline. The
fallback does not exclude common build directories, which is a
trap for non-VCS projects under alien on hosts without `fd'.
* `projectile-git-use-fd' controls how Projectile handles
deleted-but-unstaged files: with `fd' they disappear immediately,
with `git ls-files' Projectile post-filters via `git ls-files -zd'.
|
|
The configuration page covered alien indexing in depth but mentioned
hybrid only in passing, so users had to read the source to learn that
hybrid is "alien with Projectile's filtering rules layered on top".
Add a dedicated section explaining what hybrid does and when to reach
for it, and a comparison table summarising which knobs (dirconfig,
global ignores/unignores, sort order, default caching, Windows
support) apply under each indexing method.
|
|
The existing projectile-invalidate-cache always tries to also clear
the per-project files cache, which means it either prompts for a
project (with prefix arg) or only operates when you're already in a
project. Users who just created a marker file in a directory that
Projectile previously considered rootless ended up picking an
unrelated project from the prompt just to get the root cache
flushed.
projectile-discard-root-cache is a focused alternative that empties
projectile-project-root-cache only. Wired into the menu next to the
existing 'Invalidate cache' entry; deliberately not bound on the
prefix map since the keymap is already dense.
|
|
- New 'Project root cache' subsection in projects.adoc covering
invalidation, when negative results bite (the recurring 'I created
.projectile and Projectile still doesn't see it' confusion from
#1936), and how to reset programmatically.
- Note in 'Customizing Project Detection' that
projectile-root-top-down only matches regular files while
projectile-root-bottom-up matches both - this difference is what
forces VCS markers like .git onto the bottom-up list.
- Expand the file-local override section with a concrete example and
call out that overrides bypass the cache.
- Rewrite projectile-project-root's docstring to mention caching,
the tramp-archive unwrap, and the disconnected-remote behaviour
that callers used to have to read the source to discover.
|
|
The implicit "any unprefixed line is an ignore pattern" rule is the
last source of subtle parser surprises — it's the reason why a
single leading space silently changes a +-keep into a literal ignore
pattern, and it makes typo'd comments slip through as ignores.
Mark these lines as :legacy-ignore in the classifier, record them
in a new prefixless-ignore slot on the dirconfig struct, and emit a
one-time warning per project listing the offending entries. The
behavior is unchanged — the lines still go into the ignore list —
but users now get a nudge to write them as -entry. The warning can
be silenced via projectile-warn-on-prefixless-dirconfig-lines.
|
|
The parser docstring only described + and - prefixes even though the
function returns a 3-tuple including the ! ensure bucket. Fill that
in, and pull the path-vs-glob distinction out of the prose in
projects.adoc into a subsection of its own — that ambiguity is at
the root of recurring confusion (#740, #1109, #680, #1941).
|
|
- VCS commands: table of all per-VCS command variables, plus
projectile-git-submodule-command and projectile-git-ignored-command
- Caching: projectile-files-cache-expire
- Tags: projectile-tags-file-name, projectile-tags-backend
- Searching: projectile-use-git-grep
- Project name: projectile-project-name-function
- Dirty projects: projectile-vcs-dirty-state
- Hooks: projectile-find-file-hook, projectile-find-dir-hook,
projectile-before-switch-project-hook
- Misc: projectile-verbose, projectile-show-menu
- Ignore/unignore: projectile-globally-ignored-file-suffixes,
projectile-global-ignore-file-patterns,
projectile-globally-unignored-files,
projectile-globally-unignored-directories
|
|
- fd integration: projectile-git-use-fd, projectile-fd-executable,
projectile-git-fd-args
- Known projects: projectile-known-projects-file,
projectile-ignored-projects, projectile-ignored-project-function,
projectile-track-known-projects-automatically
- Buffer filtering: projectile-buffers-filter-function,
projectile-kill-buffers-filter
- Test/impl toggling: projectile-default-src-directory,
projectile-default-test-directory, projectile-test-prefix-function,
projectile-test-suffix-function, projectile-create-missing-test-files
|
|
|
|
|
|
Fixes #1954
|
|
|
|
That's a safer default, given the changes to its behavior in 2.9.
|
|
|
|
|
|
|
|
|
|
Bloop is a Scala build tool, not a Clojure tool: https://scalacenter.github.io/bloop/
|
|
It was deprecated in favor of vertico.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Emacs 25 is ancient at this point and likely no one is using it anymore.
|
|
Add support for swift projects using swift package manager (SPM).
The 'swift-spm symbol is qualified to leave room for other flavors of
swift project that are more Xcode oriented or use cocoapods.
|
|
First attempt at expanding the table of file markers for projects based on code at
[master/projectile.el#L3441](https://github.com/bbatsov/projectile/blob/master/projectile.el?rgh-link-date=2024-10-22T08%3A55%3A41Z#L3441)
I've followed the order of the languages/files in `projectile.el` (I hope!).
Not sure descriptions under `Project Type` are 100% correct so happy to revise anything that needs changing.
|
|
|
|
Browsing the documentation I found it cumbersome to read this table as it wasn't in alphabetical order. This commit
re-orders the table by `File` column.
Perhaps a different order might be to include a column for language and order by that with sub-ordering by supported
files within that language.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add new custom variable 'projectile-cmd-hist-ignoredups', which can be
used to tweak how duplicates are dealt with in projectile's command
history. The custom variable is identical in behaviour to
'eshell-hist-ignoredups'.
Specifically, the existing default behavior is maintained with the
value of t, which means consecutive duplicates are ignored. A value
of 'erase means only the last duplicate is kept, whilst a value of nil
means all duplicates are kept.
|
|
|
|
Sapling is a Meta maintained fork of Mercurial. It uses .sl as the state directory instead of .hg to avoid compatibility issues with Mercurial. See this page for comparison with Mercurial: https://sapling-scm.com/docs/introduction/differences-hg
|
|
See #1831 for more details.
|