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

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

[elpa] externals/dired-duplicates 6508b208e2 30/57: Add option to search


From: ELPA Syncer
Subject: [elpa] externals/dired-duplicates 6508b208e2 30/57: Add option to search directories recursively or not
Date: Sat, 4 Nov 2023 06:58:28 -0400 (EDT)

branch: externals/dired-duplicates
commit 6508b208e2e61d218a756b6b5b00b32bb3f518ab
Author: Harald Judt <h.judt@gmx.at>
Commit: Harald Judt <h.judt@gmx.at>

    Add option to search directories recursively or not
---
 find-duplicates.el | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/find-duplicates.el b/find-duplicates.el
index 4da9593e84..b1811bd636 100644
--- a/find-duplicates.el
+++ b/find-duplicates.el
@@ -94,6 +94,13 @@ return boolean t if the file matches a criteria, otherwise 
nil."
   :tag "File filter functions"
   :type 'hook)
 
+(defcustom find-duplicates-search-directories-recursively
+  t
+  "Search directories recursively."
+  :group 'find-duplicates
+  :tag "Search directories recursively"
+  :type 'boolean)
+
 (defvar find-duplicates-directories nil
   "List of directories that will be searched for duplicate files.")
 
@@ -143,9 +150,12 @@ return boolean t if the file matches a criteria, otherwise 
nil."
 for duplicate files.  Returns a hash-table with the checksums as
 keys and a list of size and duplicate files as values."
   (cl-loop with files = (find-duplicates--apply-file-filter-functions
-                         (mapcan #'(lambda (d)
-                                     (directory-files-recursively d ".*"))
-                                 (ensure-list directories)))
+                         (mapcan
+                          #'(lambda (d)
+                              (if 
find-duplicates-search-directories-recursively
+                                  (directory-files-recursively d ".*")
+                                (cl-remove-if #'file-directory-p 
(directory-files d t nil t))))
+                          (ensure-list directories)))
            and same-size-table = (make-hash-table)
            and checksum-table = (make-hash-table :test 'equal)
            for f in files



reply via email to

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