emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/xeft a2de16c207 2/4: Add xeft-directory-filter


From: ELPA Syncer
Subject: [elpa] externals/xeft a2de16c207 2/4: Add xeft-directory-filter
Date: Sat, 28 Jan 2023 22:58:22 -0500 (EST)

branch: externals/xeft
commit a2de16c207671f73f02e938fe72bf6e45b34d94b
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    Add xeft-directory-filter
    
    Since we added xeft-file-filter, might as well add xeft-directory-filter.
    
    * xeft.el (xeft-directory-filter): New variable.
    (xeft-default-directory-filter): New function.
    (xeft--file-list): Use xeft-directory-filter.
---
 xeft.el | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/xeft.el b/xeft.el
index 5cd3e952cb..06b6e2c0d7 100644
--- a/xeft.el
+++ b/xeft.el
@@ -147,6 +147,14 @@ the absolute path of a file and return t/nil indicating
 keeping/excluding the file from indexing."
   :type 'function)
 
+(defcustom xeft-directory-filter #'xeft-default-directory-filter
+  "A filter function that excludes directories from indexing.
+
+This function is useful when ‘xeft-recursive’ is non-nil, and you
+want to exclude certain directories (and its enclosing files)
+from indexing."
+  :type 'function)
+
 (defcustom xeft-recursive nil
   "If non-nil, xeft searches for file recursively.
 Xeft doesn’t follow symlinks and ignores inaccessible directories."
@@ -559,6 +567,12 @@ directories, dot files, and files matched by
        (not (member (file-name-extension file)
                     xeft-ignore-extension))))
 
+(defun xeft-default-directory-filter (dir)
+  "Return nil if DIR shouldn’t be indexed.
+DIR is an absolute path. This default implementation excludes dot
+directories."
+  (not (string-prefix-p "." (file-name-base dir))))
+
 (defun xeft--file-list ()
   "Default function for ‘xeft-file-list-function’.
 Return a list of all files in ‘xeft-directory’, ignoring dot
@@ -567,9 +581,7 @@ files and directories and check for 
‘xeft-ignore-extension’."
    xeft-file-filter
    (if xeft-recursive
        (directory-files-recursively
-        xeft-directory "" nil (lambda (dir)
-                                (not (string-prefix-p
-                                      "." (file-name-base dir)))))
+        xeft-directory "" nil xeft-directory-filter)
      (directory-files
       xeft-directory t nil t))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]