From 0dc4d8962535583ff8a77191a63b0b832c0f4b1a Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Sun, 26 May 2019 16:28:18 -0400 Subject: Implement #'dired-rmjunk--directories-in-patterns --- dired-rmjunk.el | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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 -- cgit v1.3