refactor(tazjin/emacs): ivy,swiper,counsel -> vertico,consult

vertico and consult are more modern versions of interactive narrowing
helpers, as those implemented by ivy and its related packages.

The primary differences (and what I care about here) is that they are
more focused on integration with the core Emacs primitives, rather
than building an ecosystem around them.

For example:

* vertico enhances `completing-read' and friends, but does not attempt
  to provide its own ecosystem of functions to *trigger* completions.

* vertico integrates with the default `completion-style' system,
  meaning that I can continue to use things like prescient without
  extra packages that integrate it with vertico

* consult does not rely on vertico or any other specific completion
  framework (such as counsel/swiper do with ivy), and simply
  implements its functions using completing-read

This reduces the overall amount of code in the dependency closure and
leads to a less special setup.

Functionality is basically equivalent, except for two things which
counsel came with that I will need to substitute:

* counsel-notmuch (actually this was a separate package, but I didn't
  use it much anyways, so just ignoring it for now)
* counsel-linux-app (opening desktop shortcuts, this I will need to make)

As a side note, consult notes "This package is a part of GNU Emacs",
but it doesn't seem to be the case.

Change-Id: Ia046b763bf3d401b505e0f6393cfe1ccd6f41293
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9155
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2023-08-27 01:12:29 +03:00 committed by tazjin
parent 9afa1dacf8
commit e78b79c6cd
6 changed files with 14 additions and 41 deletions

View file

@ -281,14 +281,6 @@ by looking for a `Cargo.toml' file."
(magit-read-file-from-rev "HEAD" "Find file")
#'pop-to-buffer-same-window))
(defun rg-in-project (&optional prefix)
"Interactively call ripgrep in the current project, or fall
back to ripgrep default behaviour if prefix is set."
(interactive "P")
(counsel-rg nil (unless prefix
(if-let ((pr (project-current)))
(project-root pr)))))
(defun zoxide-open-project ()
"Query Zoxide for paths, and open the result as appropriate (magit or dired)."
(interactive)