Commit graph

995 commits

Author SHA1 Message Date
c241f11ed1 dev: merging from main 2024-04-01 09:48:54 -04:00
StrawberryTea
cfdae2365c feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-04-01 07:55:13 -05:00
d02c7a8b4c dev: merge branch 'master' into emenel 2024-03-25 09:20:09 -04:00
790c512387 dev: merge branch 'pr7739' into emenel 2024-03-24 10:03:07 -04:00
StrawberryTea
390a9c1ea4 feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-03-22 18:54:52 -05:00
b50913bc3b dev: merging from pr7739 2024-03-22 14:16:51 -04:00
StrawberryTea
41f37ca31b feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-03-22 11:57:55 -05:00
Henrik Lissner
89e6b6849e
fix(default): restore accidentally gated keybinds (part 2)
I haven't published support for negated flags (e.g. -eglot) yet; this
snuck into 76b4522.

Amend: 76b452278f
Ref: #7745
2024-03-22 10:09:45 -04:00
Henrik Lissner
76b452278f
fix(default): restore accidentally gated keybinds
These were accidentally gated as part of 6949451 (#7002).

Amend: 6949451b00
Close: #7745
Co-authored-by: raszi <raszi@users.noreply.github.com>
2024-03-22 10:08:20 -04:00
c5fb8007b0 dev: merge branch 'pr7739' into emenel 2024-03-22 08:10:53 -04:00
StrawberryTea
8c82a90003 feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-03-21 09:33:30 -05:00
831e2c7402 dev: merge branch 'master' into emenel 2024-03-20 13:23:14 -04:00
Luigi Sartor Piucco
0588b42b46
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>
2024-03-19 20:41:50 -03:00
StrawberryTea
365a95de76
feat(corfu): more CAPFs and ergonomy changes
Add CAPFs from cape:
- `cape-dabbrev`;
- `cape-elisp-block`;
- `cape-file`;
Fix 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`;
Add depth to CAPFs, allowing ordering to be adjustable.
2024-03-19 20:41:50 -03:00
Luigi Sartor Piucco
6949451b00
module: add :completion corfu
This commit's primary goal is allowing use of
[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
[Cape](https://github.com/minad/cape) capfs for certain modes.

Other optional or miscellaneous features include:

- Corfu is enabled in the minibuffer if `completion-at-point` is bound;
- Support for displaying the completion's documentation on a secondary
  popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
2024-03-19 20:41:36 -03:00
1f966c2250 dev: updating from latest 2024-03-13 12:16:01 -04:00
87daad531e dev: merge branch 'pr7002' into emenel 2024-03-13 10:57:38 -04:00
cuithon
f838c1790d
docs(default,mu4e,latex): fix repetition of the in docs 2024-03-12 20:16:29 -04:00
Luigi Sartor Piucco
9e7967c909
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we have many features as documentation,
and the user can compose to their liking. The global CAPF list was
pruned, suggesting to use individual keys for those functions if
required.
2024-03-12 18:18:33 -03:00
StrawberryTea
5ea726cfe4
feat(config): modify smart-ret in +tng minibuffer
If we are using +tng, we can make RET always exit the minibuffer. This
has the downside of not being able to insert snippets, but no one writes
snippets for the minibuffer anyway.
2024-03-12 18:18:33 -03:00
StrawberryTea
89a30df0c4
fix(corfu): eval lambdas 2024-03-12 18:18:33 -03:00
StrawberryTea
b96778497b
fix(corfu): use :filter instead of :enable 2024-03-12 18:18:32 -03:00
StrawberryTea
16c4daee52
feat(config): add smart-ret for corfu
This commit makes RET in Corfu quit auto-completion and passthrough to
the underlying keymap if no completion is selected.
2024-03-12 18:18:32 -03:00
StrawberryTea
d25e15072d
fix(corfu): bind tng tab commands to insert state
These commands were being shadowed by the other Corfu commands
previously.
2024-03-12 18:18:31 -03:00
StrawberryTea
fa1979d97f
feat(config): make C-x corfu bindings optional
For someone like me that uses the vanilla emacs commands bound to C-x
C-p, C-x C-n, etc, I prefer to set the completion keybindings manually.
2024-03-12 18:18:31 -03:00
Luigi Sartor Piucco
d666dcd713
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 imediately and S-RET to insert completion then conclude.
2024-03-12 18:18:30 -03:00
Luigi Sartor Piucco
7bbef94854
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. The changes were documented in
the README.
2024-03-12 18:18:30 -03:00
Henrik Lissner
198fe82b6d
feat(lib): backport find-sibling-file
I will slowly phase out projectile in favor of project.el, starting with
projectile-find-other-file, which -- as of Emacs 29 -- has a native
alternative: `find-sibling-file`.

Ref: doomemacs/community#1
2024-03-11 00:53:44 -04:00
f56395956a dev: merge branch 'pr7002' into emenel 2024-03-08 09:06:40 -05:00
Luigi Sartor Piucco
69c82bc0f0
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we have many features as documentation,
and the user can compose to their liking. The global CAPF list was
pruned, suggesting to use individual keys for those functions if
required.
2024-03-07 21:20:13 -03:00
a85f4d9f6c dev: updating from latest 2024-03-04 12:16:35 -05:00
Luigi Sartor Piucco
8015d3172d
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we many features as documentation, and
the user can compose to their liking. The global CAPF list was pruned,
suggesting to use individual keys for those functions if required.
2024-03-04 14:08:32 -03:00
afe9fa896f dev: merge branch 'pr7002' into emenel 2024-03-04 09:48:38 -05:00
Luigi Sartor Piucco
93faae87eb
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we many features as documentation, and
the user can compose to their liking. The global CAPF list was pruned,
suggesting to use individual keys for those functions if required.
2024-03-03 16:46:37 -03:00
4102c1f5b6 dev: updating from latest 2024-03-02 12:53:27 -05:00
Luigi Sartor Piucco
03f065df9f
refactor(corfu): settings and keybinding overhaul
Previously, a distinction was made only between "regular" style (assumed
to be for people who prefer to cycle directionally and commit with RET)
and +tng (assumed to be for people who prefer TAB and auto-commit). This
made composing further variations harder on the user, as they would have
to work around our bindings. Now we provide a flag per feature, and the
user can compose to their liking. Some variable options were turned into
flags and the global CAPF list was pruned, suggesting to use individual
keys for those functions if required.
2024-03-02 13:19:17 -03:00
eaa9d0e188 dev: updating from latest 2024-03-01 15:01:17 -05:00
StrawberryTea
13eba74fe9
feat(config): modify smart-ret in +tng minibuffer
If we are using +tng, we can make RET always exit the minibuffer. This
has the downside of not being able to insert snippets, but no one writes
snippets for the minibuffer anyway.
2024-03-01 12:33:13 -03:00
StrawberryTea
c6eb87c950
fix(corfu): eval lambdas 2024-03-01 12:33:13 -03:00
StrawberryTea
ccf12db615
fix(corfu): use :filter instead of :enable 2024-03-01 12:33:12 -03:00
StrawberryTea
57716ef472
feat(config): add smart-ret for corfu
This commit makes RET in Corfu quit auto-completion and passthrough to
the underlying keymap if no completion is selected.
2024-03-01 12:33:12 -03:00
StrawberryTea
eb8d4d646e
fix(corfu): bind tng tab commands to insert state
These commands were being shadowed by the other Corfu commands
previously.
2024-03-01 12:33:11 -03:00
StrawberryTea
1257527537
feat(config): make C-x corfu bindings optional
For someone like me that uses the vanilla emacs commands bound to C-x
C-p, C-x C-n, etc, I prefer to set the completion keybindings manually.
2024-03-01 12:33:11 -03:00
Luigi Sartor Piucco
a5db530622
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 imediately and S-RET to insert completion then conclude.
2024-03-01 12:33:10 -03:00
Luigi Sartor Piucco
14a3eaaa02
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. The changes were documented in
the README.
2024-03-01 12:33:10 -03:00
StrawberryTea
1a3c973f33 feat(config): modify smart-ret in +tng minibuffer
If we are using +tng, we can make RET always exit the minibuffer. This
has the downside of not being able to insert snippets, but no one writes
snippets for the minibuffer anyway.
2024-03-01 12:29:45 -03:00
StrawberryTea
2223add382 fix(corfu): eval lambdas 2024-03-01 12:29:45 -03:00
StrawberryTea
5627e7b50b fix(corfu): use :filter instead of :enable 2024-03-01 12:29:45 -03:00
StrawberryTea
bb7a8e3866 feat(config): add smart-ret for corfu
This commit makes RET in Corfu quit auto-completion and passthrough to
the underlying keymap if no completion is selected.
2024-03-01 12:29:45 -03:00
01878b82d2 dev: merge branch 'pr7002' into emenel 2024-02-19 14:42:51 -05:00