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

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

[elpa] master 9d66d82: Add command `el-search-ibuffer-marked-buffers'


From: Michael Heerdegen
Subject: [elpa] master 9d66d82: Add command `el-search-ibuffer-marked-buffers'
Date: Sun, 21 Jan 2018 12:46:35 -0500 (EST)

branch: master
commit 9d66d821fc4b894478e4864a87ada6dc1c67adbe
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    Add command `el-search-ibuffer-marked-buffers'
    
    * el-search/el-search.el (el-search-ibuffer-marked-buffers): New
    command.
    (el-search-loop-over-bindings): Add binding in `ibuffer-mode-map'.
    Also mention the command in the key binding list in the file header.
---
 packages/el-search/NEWS         |  6 ++++++
 packages/el-search/el-search.el | 27 +++++++++++++++++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/packages/el-search/NEWS b/packages/el-search/NEWS
index 1365ef5..7548e1d 100644
--- a/packages/el-search/NEWS
+++ b/packages/el-search/NEWS
@@ -1,5 +1,11 @@
 Some of the user visible news were:
 
+
+Version: 1.5.1
+
+  The new command `el-search-ibuffer-marked-buffers' el-searches the
+  marked buffers in *Ibuffer*.
+
 Version: 1.5
 
   The new function `el-search-install-bindings-under-prefix' can be
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 605d40e..278f7c2 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
 ;; Created: 29 Jul 2015
 ;; Keywords: lisp
 ;; Compatibility: GNU Emacs 25
-;; Version: 1.5
+;; Version: 1.5.1
 ;; Package-Requires: ((emacs "25") (stream "2.2.4"))
 
 
@@ -90,6 +90,9 @@
 ;;   C-S, M-s e s in Dired (el-search-dired-marked-files)
 ;;     Like above but uses the marked files and directories.
 ;;
+;;   C-S, M-s e s in Ibuffer (el-search-ibuffer-marked-buffers)
+;;     Search marked buffers in *Ibuffer*.
+;;
 ;;   C-O, M-s e o (el-search-occur)
 ;;     Pop up an occur buffer for the current search.
 ;;
@@ -1484,9 +1487,12 @@ in, in order, when called with no arguments."
     (keybind global-map                    ?b #'el-search-buffers)
 
     (defvar dired-mode-map)
+    (defvar ibuffer-mode-map)
 
     (with-eval-after-load 'dired
-      (keybind dired-mode-map ?s #'el-search-dired-marked-files))))
+      (keybind dired-mode-map   ?s #'el-search-dired-marked-files))
+    (with-eval-after-load 'ibuffer
+      (keybind ibuffer-mode-map ?s #'el-search-ibuffer-marked-buffers))))
 
 (defvar el-search-prefix-key-transient-map
   (let ((transient-map (make-sparse-keymap)))
@@ -2952,6 +2958,23 @@ related user options."
    (lambda (search) (setf (alist-get 'description (el-search-object-properties 
search))
                      "el-search-dired-marked-files"))))
 
+(declare-function ibuffer-get-marked-buffers 'ibuffer)
+
+;;;###autoload
+(defun el-search-ibuffer-marked-buffers (pattern buffer-names)
+  "El-search the buffers marked in *Ibuffer*."
+  (interactive
+   (list (el-search-read-pattern-for-interactive
+          "Search marked files for pattern: ")
+         ;; Return a list of buffer names here so that `repeat-complex-command'
+         ;; works ok
+         (mapcar #'buffer-name (ibuffer-get-marked-buffers))))
+  (el-search-setup-search
+   pattern
+   (lambda () (stream (delq nil (mapcar #'get-buffer buffer-names))))
+   (lambda (search) (setf (alist-get 'description (el-search-object-properties 
search))
+                     "el-search-ibuffer-marked-files"))))
+
 
 ;;;; Query-replace
 



reply via email to

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