Mercurial > emacs
changeset 96963:4abff057d348
(vc-dir-search): New function.
(vc-dir-mode-map, vc-dir-menu-map): Bind it.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Thu, 24 Jul 2008 01:57:24 +0000 |
parents | 3a99f3797b80 |
children | bd2850789ce2 |
files | lisp/ChangeLog lisp/vc-dir.el |
diffstat | 2 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Jul 24 00:29:24 2008 +0000 +++ b/lisp/ChangeLog Thu Jul 24 01:57:24 2008 +0000 @@ -1,3 +1,8 @@ +2008-07-24 Dan Nicolaescu <dann@ics.uci.edu> + + * vc-dir.el (vc-dir-search): New function. + (vc-dir-mode-map, vc-dir-menu-map): Bind it. + 2008-07-23 Juri Linkov <juri@jurta.org> * isearch-multi.el: Remove file to avoid dos file name clashes
--- a/lisp/vc-dir.el Thu Jul 24 00:29:24 2008 +0000 +++ b/lisp/vc-dir.el Thu Jul 24 01:57:24 2008 +0000 @@ -159,6 +159,9 @@ (define-key map [qr] '(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 + :help "Search a regexp 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")) @@ -250,6 +253,7 @@ (define-key map [down-mouse-3] 'vc-dir-menu) (define-key map [mouse-2] 'vc-dir-toggle-mark) (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) ;; Hook up the menu. @@ -679,8 +683,17 @@ (interactive) (find-file-other-window (vc-dir-current-file))) +(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. +Stops when a match is found. +To continue searching for next match, use command \\[tags-loop-continue]." + (interactive "sSearch marked files (regexp): ") + (tags-search regexp '(mapcar 'car (vc-dir-marked-only-files-and-states)))) + (defun vc-dir-query-replace-regexp (from to &optional delimited) "Do `query-replace-regexp' of FROM with TO, on all marked files. +For marked directories, use the files displayed from those directories. If a directory is marked, then use the files displayed for that directory. Third arg DELIMITED (prefix arg) means replace only word-delimited matches. If you exit (\\[keyboard-quit], RET or q), you can resume the query replace