summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-05-26 16:28:18 -0400
committerJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-05-26 16:28:18 -0400
commit0dc4d8962535583ff8a77191a63b0b832c0f4b1a (patch)
tree5fb801ed90fc12d6e0742bf6db8dd63a2bef73f5
parentadcf904d35f6b9351dc4a39ec216d900b1b29478 (diff)
Implement #'dired-rmjunk--directories-in-patterns
-rw-r--r--dired-rmjunk.el24
1 files changed, 24 insertions, 0 deletions
diff --git a/dired-rmjunk.el b/dired-rmjunk.el
index 74f20ff..29f5912 100644
--- a/dired-rmjunk.el
+++ b/dired-rmjunk.el
@@ -115,5 +115,29 @@ does not contain a directory component."
(should (equal (dired-rmjunk--file-name ".asy")
".asy")))
+(defun dired-rmjunk--directories-in-patterns (&optional patterns)
+ (let ((patterns (or patterns dired-rmjunk-patterns)))
+ (cl-remove-duplicates
+ (cl-remove-if #'null
+ (map 'list #'dired-rmjunk--dir-name patterns))
+ :test #'string=)))
+
+(ert-deftest dired-rmjunk-test-directories-in-patterns ()
+ (should (equal (dired-rmjunk--directories-in-patterns
+ '(".local/share/recently-used.xbel"
+ "Desktop"
+ ".thumbnails"))
+ '(".local/share/")))
+ (should (equal (dired-rmjunk--directories-in-patterns
+ '(".distlib"
+ ".bazaar"
+ ".bzr.log"))
+ nil))
+ (should (equal (dired-rmjunk--directories-in-patterns
+ '(".local/share/gegl-0.2"
+ ".FRD/app.log"
+ ".FRD/links.txt"))
+ '(".local/share/" ".FRD/"))))
+
(provide 'dired-rmjunk)
;;; dired-rmjunk.el ends here