Function: projectile--alien-exclude-args

projectile--alien-exclude-args is a byte-compiled function defined in projectile.el.

Signature

(projectile--alien-exclude-args VCS COMMAND GLOBS)

Documentation

Return exclusion arguments appending GLOBS to COMMAND, or nil.

Returns nil when GLOBS is empty, or when COMMAND's tool has no way to express exclusions - the caller then has to filter the output in Emacs Lisp instead (see projectile--maybe-remove-ignored).

VCS is the project's version-control system as returned by projectile-project-vcs.

Source Code

;; Defined in ~/.emacs.d/elpa/projectile-20260930.434/projectile.el
(defun projectile--alien-exclude-args (vcs command globs)
  "Return exclusion arguments appending GLOBS to COMMAND, or nil.

Returns nil when GLOBS is empty, or when COMMAND's tool has no way to
express exclusions - the caller then has to filter the output in Emacs
Lisp instead (see `projectile--maybe-remove-ignored').

VCS is the project's version-control system as returned by
`projectile-project-vcs'."
  (when globs
    (pcase (projectile--alien-exclude-style vcs command)
      ;; `fd' takes repeated `--exclude' globs.
      ('fd
       (mapconcat (lambda (glob)
                    (concat "-E " (shell-quote-argument
                                   (projectile--alien-exclude-glob glob 'fd))))
                  globs " "))
      ;; `git ls-files' takes exclude pathspecs.  A pathspec list made up
      ;; entirely of exclusions still lists everything else, so there's no
      ;; need to add a positive pathspec alongside them.
      ('git
       (concat "-- "
               (mapconcat (lambda (glob)
                            (shell-quote-argument
                             (concat ":(exclude,glob)"
                                     (projectile--alien-exclude-glob glob 'git))))
                          globs " "))))))