feat(sterni/emacs): project-independent project-find-regexp
I like project-find-regexp better than grep-find-file, but it's a little annoying to use for arbitrary directories. With C-u, it unnecessarily prompts for a file name pattern. For convenience, add a variant of project-find-regexp which always prompts for a directory, but doesn't require a project nor prompts for a file name pattern. Change-Id: I40f0bdcca4aa129f447f4f4790d732afcf76d3f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13056 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
This commit is contained in:
parent
1fcd827230
commit
a8f17cc37a
1 changed files with 17 additions and 0 deletions
|
|
@ -108,6 +108,22 @@
|
||||||
(setq-default indicate-buffer-boundaries 'left)
|
(setq-default indicate-buffer-boundaries 'left)
|
||||||
(setq sentence-end-double-space nil)
|
(setq sentence-end-double-space nil)
|
||||||
|
|
||||||
|
;; search
|
||||||
|
|
||||||
|
;; TODO(sterni): can we use ripgrep for xref?
|
||||||
|
(defun sterni-find-regexp (regexp)
|
||||||
|
"Find all matches for REGEXP in a specified directory.
|
||||||
|
Like \\[project-find-regexp], but always ask for a directory (defaulting to
|
||||||
|
`default-directory') and never prompt for a file glob pattern."
|
||||||
|
(interactive (list (project--read-regexp)))
|
||||||
|
(require 'xref)
|
||||||
|
(let* ((dir (read-directory-name "Base directory: "
|
||||||
|
default-directory nil t))
|
||||||
|
(files (project--files-in-directory dir nil)))
|
||||||
|
(xref-show-xrefs
|
||||||
|
(apply-partially #'project--find-regexp-in-files regexp files)
|
||||||
|
nil)))
|
||||||
|
|
||||||
;;; Configure built in modes
|
;;; Configure built in modes
|
||||||
|
|
||||||
;; Perl
|
;; Perl
|
||||||
|
|
@ -228,6 +244,7 @@
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>em") 'man)
|
(evil-define-key 'normal 'global (kbd "<leader>em") 'man)
|
||||||
(evil-define-key '(normal visual) 'global (kbd "<leader>eu") 'browse-url-at-point)
|
(evil-define-key '(normal visual) 'global (kbd "<leader>eu") 'browse-url-at-point)
|
||||||
(evil-define-key '(normal visual) 'global (kbd "<leader>ef") 'ffap)
|
(evil-define-key '(normal visual) 'global (kbd "<leader>ef") 'ffap)
|
||||||
|
(evil-define-key 'normal 'global (kbd "<leader>eg") 'sterni-find-regexp)
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>er") 'rename-visited-file)
|
(evil-define-key 'normal 'global (kbd "<leader>er") 'rename-visited-file)
|
||||||
;; modify what is displayed
|
;; modify what is displayed
|
||||||
(evil-define-key 'normal 'global (kbd "<leader>dw")
|
(evil-define-key 'normal 'global (kbd "<leader>dw")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue