I intend to eventually replace projectile with project.el, so these
doom-projectile-* variables need to be generalized, starting with the
fd/ripgrep executable paths.
ALong with that, this refactors Doom's projectile-generic-command to
lean more on built-in fd support in projectile, where possible (fewer
wheels reinvented).
Ref: doomemacs/core#1
Monkey-patches counsel-rg to ignore non-zero exit codes. This may have
other side effects, but despite it still producing workable resutls, the
command will discard all its results if there are any errors while
scanning a directory.
Ref: abo-abo/swiper#2339
Fix: #3038
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:
IS-MAC -> (featurep :system 'macos)
IS-WINDOWS -> (featurep :system 'windows)
IS-LINUX -> (featurep :system 'linux)
IS-BSD -> (featurep :system 'bsd)
The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.
Fix: #7479
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.
This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.
Fix: #7368Close: #6675Close: #7364
Overriding `ivy--flx-featurep` here would always prevent flx from being
loaded and enabled---even if it were `t`---because ivy `require`s it in
`ivy--flx-featurep`'s initvalue. So instead, this sets the variable if
and only if it should be disabled. Because flx isn't installed when
+prescient is enabled, I've included that in the condition for disabling
ivy--flx-featurep as well
Fix: https://github.com/doomemacs/doomemacs/issues/6034
Amend: bae7ab0d8d
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
`counsel-describe-symbol-function' still doesn't use `helpful-symbol'
because `helpful-symbol' throws up a prompt when the symbol refers to
both a function and a variable.
It was `evil-show-registers' that we wanted, not
`evil-ex-registers' (which never existed in the first place). Folks who
did not have :completion ivy enabled (e.g. vertico and helm users) would
see 'commandp, evil-ex-registers' errors when pressing `SPC i r`. Folks
who had it enabled would transparently invoke `counsel-evil-registers'
instead (because it was remapped).
Fix: #5753
`unicode-chars-list-chars` doesn't seem to be an actual function (not
defined in emacs or found online), and `insert-char` seems like what one
would want here.
* Remap `describe-symbol` to `counsel-describe-symbol` .
"SPC h o" now uses `counsel-describe-symbol` instead of plain `helpful-symbol` (maybe with completion) to get input.
* Remove counsel-describe-symbol-function change
Co-authored-by: Henrik Lissner <henrik@lissner.net>
There are two hydras that can be opened from ivy interface:
1. `ivy-dispatching-done' (doom key: "C-o", vanilla key: "M-o")
2. `hydra-ivy/body' (doom key: "M-o", vanilla key: "C-o")
Original behavior is that they both can be exited / toggled
by the same key they were opened.
This commit restores the original behaviour but does it without
reverting the decision to swap the "C-o" and "M-o" key bindings.
`ivy-avy` makes it possible to select a candidate with `avy` by using `C-'` in an ivy minibuffer.
This functinally used to come with `swiper`, but it was split: https://github.com/melpa/melpa/pull/6951
Counsel allows `counsel-rg-base-command' to be a string or list. This
backwards compatibility is a maintenance burden for Doom, so it's
simpler to force it to always be a list.