branch: externals/mpdired
commit 0f0e96d4b9119b2f05a3c88ebcc2d28f603c95c9
Author: Manuel Giraud <man...@ledu-giraud.fr>
Commit: Manuel Giraud <man...@ledu-giraud.fr>

    mark with regexp
---
 mpdired.el | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/mpdired.el b/mpdired.el
index 127afbf1ba..86b9b32734 100644
--- a/mpdired.el
+++ b/mpdired.el
@@ -84,7 +84,8 @@
   "t"      #'mpdired-toggle-marks
   "* t"    #'mpdired-toggle-marks
   "* c"    #'mpdired-change-marks
-  ;; Only in the queue view
+  "% d"    #'mpdired-flag-files-regexp
+  "% m"    #'mpdired-mark-files-regexp
   "x"      #'mpdired-flagged-delete
   "D"      #'mpdired-delete)
 
@@ -701,6 +702,21 @@
        (forward-line))
       result)))
 
+(defun mpdired-mark-files-regexp (regexp &optional mark)
+  (interactive (list (read-regexp "Mark (regexp): ")))
+  (save-excursion
+    (goto-char (point-min))
+    (let ((mark (or mark ?*))
+         (max (point-max)))
+      (while (< (point) max)
+       (when (re-search-forward regexp (line-end-position) t)
+         (mpdired--mark mark))
+       (forward-line)))))
+
+(defun mpdired-flag-files-regexp (regexp)
+  (interactive (list (read-regexp "Flag for deletion (regexp): ")))
+  (mpdired-mark-files-regexp regexp ?d))
+
 (defun mpdired--append-message (message)
   "Put a message for the communication buffer."
   (with-current-buffer mpdired--comm-buffer

Reply via email to