Commit graph

1034 commits

Author SHA1 Message Date
Luigi Sartor Piucco
75eef5e9b6
feat(corfu): impl smart confirm in minibuffer
An issue when using corfu in the minibuffer was the need for pressing
RET twice, since the first only inserts the completion. This commit
aliviates that by providing C-RET to ignore completion and conclude the
minibuffer immediatelly and S-RET to insert completion then conclude.
2023-12-21 12:23:10 -03:00
Luigi Sartor Piucco
f5b3531f28
fix(corfu): move binds to :config default
Bindings were moved to the `:config default` module and some keys were
adjusted to match Company/other modules. Small formatting issues and
some apparently inintended nestings were corrected as well.
2023-12-21 12:23:10 -03:00
Luigi Sartor Piucco
b245bb3492
feat(corfu, vertico): use equal orderless config
This removes the old `&` separator for Vertico (does anyone use that
instead of just space?) in favor of escapable space and unifies
orderless config with Corfu. Also implements smart separator
insert/escape/reset on `C-SPC`

Co-authored-by: Liam Hupfer <liam@hpfr.net>
2023-12-21 12:23:10 -03:00
StrawberryTea
b6960fb9be
feat(corfu): more CAPFs and ergonomy changes
Add various CAPFs from cape:
- `cape-dabbrev`;
- `cape-emoji`;
- `cape-dict`;
Fixed some CAPFs via cape:
- Make non-exclusive, purified and silent `pcomplete-completions-at-point`;
- Make non-exclusive and non-interruptable `lsp-completion-at-point`;
- Make non-exclusive `eglot-completion-at-point`;
- Make non-exclusive `comint-completion-at-point`;
Fix and improve keybindings:
- Smart `DEL`/`backspace` for `+tng`;
- Smart `RET`;
Add depth to CAPFs, allowing ordering to be adjustable.
Enable in minibuffer.
2023-12-21 12:23:08 -03:00
Luigi Sartor Piucco
01dbcdb221
feat(corfu): add snippets
Yasnippet is now properly integrated! A previosly-unset default has now
been given to `corfu-on-exact-match`. With snippets, it causes immediate
expansion upon single match by default, so we set it to nil and
recommend against changing it in the README.
2023-12-21 12:16:05 -03:00
Luigi Sartor Piucco
417c5ba204
module: add :completion corfu
This commit's primary goal is allowing use of
[minad/corfu](https://github.com/minad/corfu) as an alternative to
[company](https://github.com/company-mode/company-mode). It introduces a
module under :completion for this purpose, plus some conditionals on
other relevant modules to toggle functionality like lsp back-ends and
[minad/cape](https://github.com/minad/cape) capfs for certain modes.

Other optional or miscellaneous features include:

- Support for displaying the completion's documentation on a secondary
  popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
- Support for tab-and-go completion if +tng;
2023-12-21 12:16:04 -03:00
Kalle Lindqvist
03d692f129 fix(vertico): embark open in new workspace action 2023-12-08 15:11:45 -05:00
Henrik Lissner
fde4289f5c
bump: :completion company helm ivy
Sodel-the-Vociferous/helm-company@6eb5c2d730 -> Sodel-the-Vociferous/helm-company@4622b82353
abo-abo/swiper@9d630d800e -> abo-abo/swiper@8c30f4cab5
bbatsov/helm-projectile@35a2111d00 -> bbatsov/helm-projectile@e2e38825c9
company-mode/company-mode@9b21604d19 -> company-mode/company-mode@ed46a616ab
emacs-helm/helm-org@d67186d3a6 -> emacs-helm/helm-org@c80e53315c
emacs-helm/helm@dfd6403947 -> emacs-helm/helm@96aad023cb
emacs-jp/helm-c-yasnippet@e214eec8b2 -> emacs-jp/helm-c-yasnippet@c5880e740d
radian-software/prescient.el@d7cc55dad4 -> radian-software/prescient.el@707c25c947
tumashu/helm-posframe@87461b52b6 -> tumashu/helm-posframe@0b6bb016f0
yyoncho/helm-icons@53349000b1 -> yyoncho/helm-icons@0d113719ee
2023-11-29 23:14:34 -05:00
Maoli
95e3491c3b bump: :completion company
sebastiencs/company-box@766546b266 -> sebastiencs/company-box@b6f53e26ad
company-mode/company-mode@2ca3e29abf -> company-mode/company-mode@9b21604d19

Fix: doomemacs/doomemacs#6710
2023-11-26 13:57:36 -05:00
Liam Hupfer
2497d58e9a fix(vertico): ensure recentf-mode for consult-buffer
`consult-buffer` uses `recentf` to populate file candidates. It is not
uncommon to use `consult-buffer` as a single entry point to buffers,
bookmarks and recent files, effectively replacing `recentf` and
`consult-recent-file`.

To improve startup performance, Doom enables `recentf-mode` after the
first file is opened (0e851ace9b). When executing `consult-buffer` at
startup, `recentf-mode` won’t be enabled yet. Add it to the
`consult-recent-file` advice to ensure that can’t happen.

Unlike `consult-recent-file`, `consult-buffer` does have significant
functionality without `recentf-mode`, but for the tiny fraction of Doom
users that disable `recentf-mode`, this is easy enough to
`advice-remove`.

Fix: https://github.com/doomemacs/doomemacs/issues/7461
2023-10-05 17:42:55 +02:00
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
c5d4f818d1
fix(ivy): void-function nerd-icons-ivy-rich-mode error
Amend: 9787022b83
2023-09-14 01:11:05 +02:00
Henrik Lissner
aa49edc216
docs(helm,ivy,vertico,ido): add incompatibility checks
These modules tend to conflict if more than one of them are enabled at
once. More systematic compatibility tests are in the works, but for now
this will do.
2023-09-14 01:04:08 +02:00
Ellis Kenyő
9787022b83
refactor!: replace all-the-icons with nerd-icons
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: #7368
Close: #6675
Close: #7364
2023-09-14 01:03:55 +02:00
Henrik Lissner
f427c8a30e
tweak: scroll-conservatively = 10
Forces the window to recenter if the cursor moves >=10 lines off-screen.
This makes some of our manual recentering elsewhere unnecessary.
2023-09-11 23:53:36 +02:00
Ellis Kenyő
5be4517bca
refactor(vertico): consult-dir: drop dependence on docker-tramp
Removes the dependence on docker-tramp, can later be cleaned up with
`tramp-container--completion-function` when we drop support for <29.
2023-09-07 20:18:12 +02:00
Liam Hupfer
3d82e3d46d fix(vertico): gate which-key integration
This prevents an error for users disabling which-key.
2023-09-02 11:46:42 -05:00
Jeetaditya Chatterjee
4696f0d4ce
tweak(syntax): feat gate flycheck in all modules 2023-07-25 00:11:09 +01:00
Henrik Lissner
a82163cb99
bump: :completion ivy
DarwinAwardWinner/amx@37f9c7ae55 -> DarwinAwardWinner/amx@5b3aa1aae8
Yevgnen/ivy-rich@600b8183ed -> Yevgnen/ivy-rich@aff9b6bd53
abo-abo/swiper@b8be4913a6 -> abo-abo/swiper@9d630d800e
mhayashi1120/Emacs-wgrep@edf768732a -> mhayashi1120/Emacs-wgrep@3132abd375
radian-software/prescient.el@35cf5d3613 -> radian-software/prescient.el@d7cc55dad4

Close: #7173
Co-authored-by: notevenaperson <notevenaperson@users.noreply.github.com>
2023-07-22 17:57:25 +02:00
Itai Y. Efrat
0f843535be bump: :completion vertico
iyefrat/all-the-icons-completion@b08f053cee -> iyefrat/all-the-icons-completion@8eb3e410d6
minad/consult-flycheck@fda630411a -> minad/consult-flycheck@3f2a7c17cc
minad/consult@511d8c0b07 -> minad/consult@fe49dedd71
minad/marginalia@b900ec5457 -> minad/marginalia@866e50aee4
minad/vertico@926234ab3f -> minad/vertico@a28370d07f
oantolin/embark@9b17d9a63b -> oantolin/embark@9a44418c34
2023-07-22 16:29:54 +02:00
Itai Y. Efrat
07fca78615 bump: :completion vertico compat
emacs-compat/compat@7775c31857 -> emacs-compat/compat@be1d94d5e0
mhayashi1120/Emacs-wgrep@edf768732a -> mhayashi1120/Emacs-wgrep@3132abd375
minad/consult-flycheck@c371996c57 -> minad/consult-flycheck@fda630411a
minad/consult@052399ed05 -> minad/consult@511d8c0b07
minad/marginalia@2633b2dee2 -> minad/marginalia@b900ec5457
minad/vertico@b6b8420d29 -> minad/vertico@926234ab3f
oantolin/embark@3ffb27a833 -> oantolin/embark@9b17d9a63b
2023-05-30 19:39:04 -04:00
Henrik Lissner
4e105a95af
refactor(vertico): take evil keybinds from :config default 2023-03-22 18:29:38 -04:00
Benedikt Broich
890f200b41
feat(vertico): bind C-h/C-l to enter-or-preview/move up
Close: #7001
Ref: #6853
2023-03-22 17:57:38 -04:00
Itai Y. Efrat
e5dbd4e8b1 bump: :completion vertico compat
iyefrat/all-the-icons-completion@4da28584a1 -> iyefrat/all-the-icons-completion@b08f053cee
minad/consult@ffaaf6da90 -> minad/consult@052399ed05
minad/marginalia@ccf573e214 -> minad/marginalia@2633b2dee2
minad/vertico@6f22ff1298 -> minad/vertico@b6b8420d29
oantolin/embark@5497a19eef -> oantolin/embark@3ffb27a833
oantolin/orderless@d09aab3795 -> oantolin/orderless@e678402671
tumashu/vertico-posframe@f57b170b43 -> tumashu/vertico-posframe@7da6d648ff
emacs-compat/compat@38280a7b54 -> emacs-compat/compat@7775c31857

---

consult--grep added support for searching in multiple directories, so we
can drop the advice in `doom--help-search`. The other changes just adapt
to upstream API changes.
2023-03-22 16:35:07 -04:00
Anh T Nguyen
22097b5a75 fix(company): hook company-abort when +childframe enabled 2023-03-20 18:55:17 -04:00
Henrik Lissner
b4034a590b
docs(helm): revise and expand
- Added links to external documentation.
- Added commands for key bindings (especially useful for non-Evil users).
- Documented configuration for helm-mode and treemacs icons.

Close: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:02 -05:00
Henrik Lissner
4158e5124a
tweak(helm): helm-candidate-number-limit = 150
Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:02 -05:00
Henrik Lissner
86d0478acf
fix(helm): all-the-icons support
Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:02 -05:00
Henrik Lissner
1bfa90621b
tweak(helm): use emacs completion instead
This may fix +fuzzy, as well.

Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:01 -05:00
Henrik Lissner
8789e2e5c6
refactor(helm): reformat and revise comments
Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:01 -05:00
Henrik Lissner
928902213f
refactor(helm): use helm-posframe
The old, in-house implementation no longer works (and reportedly causes
crashes).

Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:54:01 -05:00
Henrik Lissner
fcf587fbe8
tweak(helm): show mode-line by default
Let's not hide the minibuffer. It may be detrimental in cases where
certain helm commands actually display helpful information there. And
rather than design edge cases for a package I don't dogfood, and push
minimalism onto helm users, I'll lean onto the defaults more instead.

Ref: #6676
Co-authored-by: johanwiden <johanwiden@users.noreply.github.com>
2023-02-23 22:53:57 -05:00
Ellis Kenyő
344178c208
fix(vertico): docker-tramp => tramp-container
Amend: 1b9f93859f
Ref: #6986
2023-02-21 18:28:34 -05:00
shartf
92c9e93ed7
fix(vertico): consult-theme: invalid preview key error
Fix: #7064
Amend: 642f88ad99
2023-02-21 04:54:26 -05:00
Henrik Lissner
1b9f93859f
fix(vertico): gate docker config for emacs 29+
Redundant with tramp-container, which is used in Emacs 29 and newer.

Ref: #6986
Amend: d41cf4e518
Co-authored-by: elken <elken@users.noreply.github.com>
2023-02-20 20:11:22 -05:00
Henrik Lissner
7260725313
refactor: move compat package to core
This package is cropping up in packages everywhere. Managing it has been
a source of issues, so I'm making it a core package until v3, where
we'll be able to pin packages without explicitly installing them.
2023-02-20 19:01:38 -05:00
Henrik Lissner
5c7294357f
bump: :completion
PythonNut/helm-flx@27dd9e3ce3 -> PythonNut/helm-flx@5220099e69
abo-abo/swiper@764e0d35ba -> abo-abo/swiper@b8be4913a6
bbatsov/helm-projectile@58123f14c3 -> bbatsov/helm-projectile@35a2111d00
company-mode/company-mode@1005540b1c -> company-mode/company-mode@2ca3e29abf
emacs-helm/helm@1003539c2e -> emacs-helm/helm@dfd6403947
lewang/flx@e3b3f0533e -> lewang/flx@7b44a5abb2
lewang/flx@e3b3f0533e -> lewang/flx@7b44a5abb2
mhayashi1120/Emacs-wgrep@f9687c28bb -> mhayashi1120/Emacs-wgrep@edf768732a
minad/consult-flycheck@51b1b48e8d -> minad/consult-flycheck@c371996c57
minad/consult@b22a7de62e -> minad/consult@ffaaf6da90
minad/marginalia@6d48ed54be -> minad/marginalia@ccf573e214
minad/vertico@f303790546 -> minad/vertico@6f22ff1298
oantolin/embark@4882b395ce -> oantolin/embark@5497a19eef
oantolin/orderless@ae849b3d9f -> oantolin/orderless@d09aab3795
radian-software/prescient.el@c5295a9eec -> radian-software/prescient.el@35cf5d3613
sebastiencs/company-box@f9cbbc7df8 -> sebastiencs/company-box@766546b266
tumashu/posframe@c91d4d53fa -> tumashu/posframe@06b939cfb0
tumashu/vertico-posframe@790f74b49d -> tumashu/vertico-posframe@f57b170b43
2023-02-20 19:00:45 -05:00
Itai Y. Efrat
29c595ed1b bump: magit compat git-commit
emacs-straight/compat@2bedcb5ea9 -> emacs-straight/compat@01fdf316a4
magit/magit@6d325d90ba -> magit/magit@30b0debaaa
2023-02-17 12:34:58 -05:00
Itai Y. Efrat
b13c058429 fix(vertico): update +vertico/consult-fd to new builder format 2023-02-17 12:34:58 -05:00
Itai Y. Efrat
c467b1c9d3 feat(vertico): remap Info-search to consult-info 2023-02-17 12:34:58 -05:00
Itai Y. Efrat
642f88ad99 bump: :completion vertico compat consult-lsp magit git-commit
emacs-straight/compat@7ca7d300d1 -> emacs-straight/compat@2bedcb5ea9
mhayashi1120/Emacs-wgrep@f9687c28bb -> mhayashi1120/Emacs-wgrep@edf768732a
minad/consult-flycheck@7a10be316d -> minad/consult-flycheck@51b1b48e8d
minad/consult@16b2dc5e34 -> oantolin/orderless@ae849b3d9f
minad/marginalia@c1365bf0c7 -> minad/marginalia@6d48ed54be
minad/vertico@bedd146c3f -> minad/vertico@f303790546
oantolin/embark@629cce948c -> oantolin/embark@4882b395ce
oantolin/orderless@847694e78c -> minad/vertico@f303790546
tumashu/vertico-posframe@a3d0802d7b -> tumashu/vertico-posframe@790f74b49d
gagbo/consult-lsp@58b5414762 -> gagbo/consult-lsp@f8db3252c0
magit/magit@0ef98ef518 -> magit/magit@6d325d90ba

consult-lsp needed to be bumped to work with some changed consult
internals, and due to compat shenanigans we have to bump magit to latest
as well.

Includes fixes to stay up to date with upstream api changes to.
consult-customize and the deprecation of embark-define-keymap

Close: #7064
2023-02-17 12:34:58 -05:00
Itai Y. Efrat
32599972ff refactor!(vertico): remove consult-apropos remap
BREAKING CHANGE: This command is obsolete since 0.20; consult-apropos
has been deprecated in favor of Embark actions: M-x describe-symbol
<regexp> M-x embark-export M-x describe-symbol <regexp> M-x embark-act a
2023-02-17 12:34:26 -05:00
Itai Y. Efrat
e96624926d refactor!(vertico): remove multi-occur override
BREAKING CHANGE: remove override of multi-occur with consult-multi-occur

`consult-mulit-occur` is deprecated, and although it does have the
replacement `consult-line-multi`, I don't think that this override makes
much sense, as doom doesn't really touch `multi-occur` anywhere and this
would mostly be suprising to users that do use it.
2023-01-01 21:55:13 -05:00
Itai Y. Efrat
3c99e9f8ab bump: :completion vertico compat
emacs-straight/compat@cc1924fd8b -> emacs-straight/compat@7ca7d300d1
minad/consult@e4e2af1a2d -> minad/consult@16b2dc5e34
minad/marginalia@c68164c564 -> minad/marginalia@c1365bf0c7
minad/vertico@801ad3143d -> minad/vertico@bedd146c3f
oantolin/embark@09da327d43 -> oantolin/embark@629cce948c
oantolin/orderless@004cee6b8e -> oantolin/orderless@847694e78c
tumashu/vertico-posframe@61a88aec07 -> tumashu/vertico-posframe@a3d0802d7b

---

convert consult--ripgrep-builder instance to  consult--ripgrep-make-builder
2023-01-01 21:55:13 -05:00
Itai Y. Efrat
fa9ea253fa bump: :completion vertico
iyefrat/all-the-icons-completion@286e2c064a -> iyefrat/all-the-icons-completion@4da28584a1
karthink/consult-dir@8abf62df08 -> karthink/consult-dir@ed8f0874d2
minad/consult-flycheck@9b40f136c0 -> minad/consult-flycheck@7a10be316d
minad/consult@76aab86015 -> minad/consult@e4e2af1a2d
minad/marginalia@7f5bf7818b -> minad/marginalia@c68164c564
minad/vertico@8078b8cb94 -> minad/vertico@801ad3143d
oantolin/embark@3add321d74 -> oantolin/embark@09da327d43
oantolin/orderless@6b86527b30 -> oantolin/orderless@004cee6b8e
tumashu/vertico-posframe@46aa1dffd1 -> tumashu/vertico-posframe@61a88aec07
2022-12-01 04:01:13 +01:00
Itai Y. Efrat
986603063f refactor!(vertico): remove consult-preview-at-point-mode hook
BREAKING CHANGE: That function is only meant to be used in
the *Completions* buffer, which is only relevant if you're using embark
and consult without vertico. While it doesn't hurt, it's mostly unclear
why it's there in the first place when reading the modules
2022-12-01 04:01:13 +01:00
Itai Y. Efrat
b67e83f88e docs(vertico): fix outdated consult config var name 2022-10-29 02:45:31 +02:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Henrik Lissner
58fb83c98e
fix(company): completing-read interface on C-S-s
C-S-s while company is completing shoudl bring up the results in your
completion framework of choice (ivy, helm, vertico, etc), but failed to
do so for vertico (for any completion backend besides company-capf
perhaps).
2022-10-04 02:05:02 +02:00
Henrik Lissner
c994e3ed59
bump: :completion vertico
minad/consult@6319aec351 -> minad/consult@76aab86015
minad/marginalia@69442c2d94 -> minad/marginalia@7f5bf7818b
minad/vertico@2ad4619665 -> minad/vertico@8078b8cb94
oantolin/embark@5d0459d27a -> oantolin/embark@3add321d74
oantolin/orderless@8b9af2796f -> oantolin/orderless@6b86527b30
tumashu/vertico-posframe@7ca364d319 -> tumashu/vertico-posframe@46aa1dffd1
2022-09-20 02:26:51 +02:00