1

When switching projects, there's a few commands available off the bat that can be selected from the mini-buffer after selecting a project.

[f] Find file [g] Find regexp [d] Find directory ...

Both find file and find directory and interactive. i.e., live results are shown as you type search terms.

However, Find regexp (project-find-regexp from project.el) does not. The prompt is simply: Find regexp: and as you type there's no live results shown and therefore no immediate feedback as to whether the regex provided as matching any results.

How might I define use-package for project and/or consult to adjust this initial behaviour of project-find-regexp?

Some relevant snippets of my init.el are as follows:

 (use-package consult :bind ( ("C-s" . consult-line) ("C-x b" . consult-buffer) ("M-g M-g" . consult-goto-line) ("M-g g" . consult-goto-line) ("M-s f" . consult-find) ("M-s r" . consult-ripgrep) ("M-y" . consult-yank-pop) ) :commands (consult-completing-read-multiple) :config (setq consult-project-root-function (lambda () (let ((p (project-current))) (when p (project-root p))))) (defvar rah/consult-line-map (let ((map (make-sparse-keymap))) (define-key map "\C-s" #'vertico-next) map)) (advice-add #'completing-read-multiple :override #'consult-completing-read-multiple) (consult-customize consult-line :history t ;; disable history :keymap rah/consult-line-map consult-buffer consult-find consult-ripgrep :preview-key (kbd "M-.") consult-theme :preview-key '(:debounce 1 any) ) ) (use-package consult-dir :bind ( ("C-x C-d" . consult-dir) ) :bind (:map minibuffer-local-completion-map ("C-x C-d" . consult-dir) ("C-x C-j" . consult-dir-jump-file) )) (use-package consult-project-extra :bind ( ("C-c p f" . consult-project-extra-find) ("C-c p o" . consult-project-extra-find-other-window) )) (use-package consult-xref :after (consult xref) :commands (consult-xref) :init (setq xref-show-definitions-function #'consult-xref xref-show-xrefs-function #'consult-xref) ) (use-package project :bind-keymap ( ("C-x p" . project-prefix-map) ) :bind (:map project-prefix-map ("m" . magit-project-status) ) :commands (project-root) :config (add-to-list 'project-switch-commands '(magit-project-status "Magit") t) ) 

1 Answer 1

2

You cat just use consult-ripgrep to override project-find-regexp through:

(advice-add #'project-find-regexp :override #'consult-ripgrep) 
1
  • 1
    Thanks @tianshu-wang that's perfect! Commented Jun 10, 2022 at 2:48

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.