Variable: projectile-alien-honors-ignores

projectile-alien-honors-ignores is a customizable variable defined in projectile.el.

Value

t

Documentation

Whether alien indexing applies Projectile's own ignore rules.

The alien indexing method delegates the directory walk to an external tool (git ls-files, fd, find, ...), which knows nothing about Projectile's ignore configuration: projectile-globally-ignored-files, projectile-globally-ignored-directories, projectile-globally-ignored-file-suffixes and the - entries of a project's dirconfig file (see projectile-dirconfig-file(var)/projectile-dirconfig-file(fun)).

When this is non-nil those rules are honored. Tools that can express exclusions themselves (git ls-files via pathspecs, fd via
--exclude) are handed the rules as arguments, so the filtering still
happens outside Emacs and alien indexing stays fast. For the few tools that can't (svn, fossil, bzr, darcs, pijul, and the plain find fallback) the rules are applied to the tool's output in Emacs Lisp instead.

Set this to nil to get the raw listing back and defer entirely to the external tool's own ignore rules (.gitignore and friends), which is how alien indexing behaved before Projectile 3.3.

Note that dirconfig + keep entries and ! unignore entries are a separate mechanism and remain hybrid/native only.

This variable was added, or its default value changed, in projectile version 3.3.0.

Source Code

;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defcustom projectile-alien-honors-ignores t
  "Whether `alien' indexing applies Projectile's own ignore rules.

The `alien' indexing method delegates the directory walk to an external
tool (`git ls-files', `fd', `find', ...), which knows nothing about
Projectile's ignore configuration: `projectile-globally-ignored-files',
`projectile-globally-ignored-directories',
`projectile-globally-ignored-file-suffixes' and the `-' entries of a
project's dirconfig file (see `projectile-dirconfig-file').

When this is non-nil those rules are honored.  Tools that can express
exclusions themselves (`git ls-files' via pathspecs, `fd' via
`--exclude') are handed the rules as arguments, so the filtering still
happens outside Emacs and alien indexing stays fast.  For the few tools
that can't (svn, fossil, bzr, darcs, pijul, and the plain `find'
fallback) the rules are applied to the tool's output in Emacs Lisp
instead.

Set this to nil to get the raw listing back and defer entirely to the
external tool's own ignore rules (`.gitignore' and friends), which is
how alien indexing behaved before Projectile 3.3.

Note that dirconfig `+' keep entries and `!' unignore entries are a
separate mechanism and remain `hybrid'/`native' only."
  :group 'projectile
  :type 'boolean
  :package-version '(projectile . "3.3.0"))