Function: magit--gitignore-patterns

magit--gitignore-patterns is a byte-compiled function defined in magit-gitignore.el.

Signature

(magit--gitignore-patterns &optional DIRECTORY)

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-gitignore.el
(defun magit--gitignore-patterns (&optional directory)
  (let* ((topdir (magit-toplevel))
         (default-directory (or directory topdir))
         (files (magit-untracked-files t directory))
         ;; Include directories that contain only untracked files.
         (dirs (seq-filter (##equal (substring % -1) "/")
                           (magit-untracked-files nil directory)))
         (globs nil)
         (dirglobs nil))
    (when directory
      (let ((beg (length (file-relative-name directory topdir))))
        (setq files (mapcar (##substring % beg) files))
        (setq dirs  (mapcar (##substring % beg) dirs))))
    (dolist (file files)
      (when-let ((ext (file-name-extension file)))
        (cl-pushnew (concat "*." ext) globs :test #'equal)
        (when-let ((dir (file-name-directory file)))
          (cl-pushnew (concat dir "*." ext) dirglobs :test #'equal))))
    (sort (nconc globs
                 (mapcar (##concat "/" %) (nconc files dirs dirglobs)))
          #'string<)))