From 02d56a9878c07cca3f1d856be2929afe28d33033 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Wed, 1 Jan 2014 17:09:51 -0500 Subject: Add query and replace command to projectile --- init/km-projectile.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'init') diff --git a/init/km-projectile.el b/init/km-projectile.el index 2ad41b1..98bb837 100644 --- a/init/km-projectile.el +++ b/init/km-projectile.el @@ -21,3 +21,21 @@ I have set `projectile-switch-project-action' to 'km/projectile-switch-project-to-file) (setq projectile-use-git-grep t) + +(defun km/projectile-query-and-replace (from to &optional delimited) + "Peform query and replace on current project files. + +Core logic taken from `dired-do-query-replace-regexp', replacing +the marked dired file list with the list from +`projectile-current-project-files'." + (interactive + (let ((common + (query-replace-read-args + "Query replace regexp in project files" t t))) + (list (nth 0 common) (nth 1 common) (nth 2 common)))) + (projectile-with-default-dir (projectile-project-root) + (tags-query-replace from to delimited + '(projectile-current-project-files)))) + +(define-key projectile-mode-map (kbd "C-c p q") + 'km/projectile-query-and-replace) -- cgit v1.2.3