From ba7e37c8d795f032da234db4810ed26b3a6f073c Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Thu, 24 Jul 2008 02:39:04 +0000 Subject: [PATCH] (vc-dir-search, vc-dir-isearch) (vc-dir-isearch-regexp): New functions. (vc-dir-mode-map, vc-dir-menu-map): Bind them. --- lisp/ChangeLog | 5 +++-- lisp/vc-dir.el | 24 ++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1fe698ddcb1..5c9022f9883 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,8 @@ 2008-07-24 Dan Nicolaescu - * vc-dir.el (vc-dir-search): New function. - (vc-dir-mode-map, vc-dir-menu-map): Bind it. + * vc-dir.el (vc-dir-search, vc-dir-isearch) + (vc-dir-isearch-regexp): New functions. + (vc-dir-mode-map, vc-dir-menu-map): Bind them. 2008-07-23 Juri Linkov diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el index 7041d5765b5..17b2489654f 100644 --- a/lisp/vc-dir.el +++ b/lisp/vc-dir.el @@ -157,11 +157,17 @@ See `run-hooks'." (define-key map [sepopn] '("--")) (define-key map [qr] - '(menu-item "Query Replace in Files" vc-dir-query-replace-regexp + '(menu-item "Query Replace in Files..." vc-dir-query-replace-regexp :help "Replace a string in the marked files")) (define-key map [se] - '(menu-item "Search Files" vc-dir-search + '(menu-item "Search Files..." vc-dir-search :help "Search a regexp in the marked files")) + (define-key map [ires] + '(menu-item "Isearch Regexp Files..." vc-dir-isearch-regexp + :help "Incremental search a regexp in the marked files")) + (define-key map [ise] + '(menu-item "Isearch Files..." vc-dir-isearch + :help "Incremental search a string in the marked files")) (define-key map [open-other] '(menu-item "Open in other window" vc-dir-find-file-other-window :help "Find the file on the current line, in another window")) @@ -255,6 +261,8 @@ See `run-hooks'." (define-key map "x" 'vc-dir-hide-up-to-date) (define-key map "S" 'vc-dir-search) ;; FIXME: Maybe use A like dired? (define-key map "Q" 'vc-dir-query-replace-regexp) + (define-key map (kbd "M-s a C-s") 'vc-dir-isearch) + (define-key map (kbd "M-s a M-C-s") 'vc-dir-isearch-regexp) ;; Hook up the menu. (define-key map [menu-bar vc-dir-mode] @@ -683,6 +691,18 @@ that share the same state." (interactive) (find-file-other-window (vc-dir-current-file))) +(defun vc-dir-isearch () + "Search for a string through all marked buffers using Isearch." + (interactive) + (multi-isearch-files + (mapcar 'car (vc-dir-marked-only-files-and-states)))) + +(defun vc-dir-isearch-regexp () + "Search for a regexp through all marked buffers using Isearch." + (interactive) + (multi-isearch-files-regexp + (mapcar 'car (vc-dir-marked-only-files-and-states)))) + (defun vc-dir-search (regexp) "Search through all marked files for a match for REGEXP. For marked directories, use the files displayed from those directories. -- 2.39.2