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-20260820.1509/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
    (cond
     ;; `fd' takes repeated `--exclude' globs.  Checked before VCS because
     ;; git projects use fd too when `projectile-git-use-fd' is on.
     ((projectile--fd-command-p command)
      (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.
     ((eq vcs 'git)
      (concat "-- "
              (mapconcat (lambda (glob)
                           (shell-quote-argument
                            (concat ":(exclude,glob)"
                                    (projectile--alien-exclude-glob glob 'git))))
                         globs " ")))
     (t nil))))