                         (mode . image-dired-thumbnail-mode)))
            ("email" (name . "\*mu4e"))
            ("scratch" (name . "\*scratch"))
+           ("search" (or
+                      (mode . deadgrep-mode)
+                      (mode . grep-mode)
+                      (mode . ripgrep-mode)))
            ("special" (or (name . "\*")
                           (mode . geiser-repl-mode)))
            ("version control" (or

    "Change deadgrep current search directory."
    (interactive)
    (deadgrep--directory nil))

  (evil-collection-define-key 'normal 'deadgrep-mode-map
    "s" #'sm/deadgrep-change-search
    "d" #'sm/deadgrep-change-dir
    "e" #'deadgrep-edit-mode))

(use-package ripgrep
  :straight t

  (projectile-mode +1)
  :bind-keymap ("C-c p" . projectile-command-map)
  :bind (:map projectile-command-map
              ("s D" . deadgrep)
              ("s d" . sm/deadgrep-this-directory)))

(use-package deadgrep
  :straight t
  :after projectile
  :init
  (defun sm/deadgrep-this-directory ()
    "Call deadgrep using `default-directory' as the project root."
    (interactive)
    (let ((deadgrep-project-root-function (lambda () default-directory)))
      (call-interactively 'deadgrep)))
  :config
  (defun sm/deadgrep-change-search ()
    "Change deadgrep search term."
