From 0197b288cea1ce7b49e8a4e0130abc9b79c3fb19 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Fri, 9 Jul 2021 09:10:28 +0200 Subject: grep: Use locate-dominating-file --- lisp/init-grep.el | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'lisp/init-grep.el') diff --git a/lisp/init-grep.el b/lisp/init-grep.el index 6f23f47..7afe4ac 100644 --- a/lisp/init-grep.el +++ b/lisp/init-grep.el @@ -5,22 +5,12 @@ (defvar mpolden/rg-template "rg -nH --no-heading -e -- " "The grep template to use when rg (ripgrep) is installed.") -(defun mpolden/git-root-dir (filename) - "Return the root directory to the Git repository of FILENAME. -Return nil if FILENAME is not in a Git repository." - (let* ((dir (if (directory-name-p filename) - filename - (file-name-directory filename))) - (git-dir (expand-file-name ".git" dir))) - (cond ((file-directory-p git-dir) dir) - ((not (equal dir "/")) (mpolden/git-root-dir - (directory-file-name dir)))))) - (defun mpolden/grep () "Run grep interactively in `default-directory' or current Git repository." (interactive) - (let ((git-root-dir (mpolden/git-root-dir (or buffer-file-name - default-directory)))) + (let ((git-root-dir (locate-dominating-file (or buffer-file-name + default-directory) + ".git"))) (if git-root-dir (vc-git-grep (grep-read-regexp) "" git-root-dir) (lgrep (grep-read-regexp) "" default-directory)))) -- cgit v1.2.3