summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-07-25 13:05:19 +0200
committerMartin Polden <mpolden@mpolden.no>2020-07-25 13:05:19 +0200
commit675de1606e400406ed90da297d8b2f9c79320b99 (patch)
tree103253be26cf9ad7ac122196961718327b249438
parent187b5899e7de53dbfcbca77de3abaddfd6ccdba0 (diff)
project: Add custom grep command
-rw-r--r--lisp/init-git.el6
-rw-r--r--lisp/init-project.el5
2 files changed, 8 insertions, 3 deletions
diff --git a/lisp/init-git.el b/lisp/init-git.el
index 3dcfc34..68eb2b4 100644
--- a/lisp/init-git.el
+++ b/lisp/init-git.el
@@ -55,11 +55,11 @@
;; follow symlinks to files under version control
(setq vc-follow-symlinks t)
-(defun vc-git-grep-root ()
+(defun vc-git-grep-root (&optional dir)
(interactive)
(let ((search-regexp (grep-read-regexp))
- (root (vc-git-root default-directory)))
- (vc-git-grep search-regexp "" root)))
+ (dir (or dir (vc-git-root default-directory))))
+ (vc-git-grep search-regexp "" dir)))
(use-package vc-git
:after grep
diff --git a/lisp/init-project.el b/lisp/init-project.el
index 2067a83..af22d13 100644
--- a/lisp/init-project.el
+++ b/lisp/init-project.el
@@ -2,6 +2,10 @@
(interactive)
(magit-status (project-root (project-current t))))
+(defun project-git-grep ()
+ (interactive)
+ (vc-git-grep-root (project-root (project-current t))))
+
(use-package project
:ensure t
:init
@@ -19,6 +23,7 @@
:config
(setq project-switch-commands '((?f "Find file" project-find-file)
(?d "Dired" project-dired)
+ (?g "Grep" project-git-grep)
(?m "Magit" project-magit-status))))
(provide 'init-project)