Commit graph

1150 commits

Author SHA1 Message Date
c7a6a47b1f dev: updating from latest pr7002 2024-02-14 10:17:31 -05:00
Henrik Lissner
fe776f8d84
fix(vertico): use remote fd in tramp buffers 2024-02-14 02:42:30 -05:00
2c44656601 dev: merge branch 'pr7002' into emenel 2024-02-10 12:51:10 -05:00
Luigi Sartor Piucco
e457a81489
bump: :completion corfu + evil-collection
The `evil-collection` upgrade is needed due to a recent breaking change
in Corfu's setup and teardown functions. `evil-collection`
`:after`-advised these with `#'evil-normalize-keymaps`, which accepts
only 1 optional argument. This was fine because the functions took no
arguments, but some have been introduced recently. Trying to initiate
completion would now throw a "too many arguments" error, and due to the
partial operation on the keymaps, make Emacs mostly unusable.

Related links:
- 9cebcfedca
- cf1a11912d
- 61a20a5036
- 2eb68ac588
2024-02-09 18:42:52 -03:00
Luigi Sartor Piucco
1603c6c7dd
feat(corfu): general move-to-minibuffer impl
We relied directly on consult for this, meaning it needed the vertico
module. Now, it should defer to the user's choice, including helm, ivy
and ido. Note the convention for this indirection is using the
`completing-read` API, which all such packages implement. This diverges
from Corfu's suggestion of `completion-in-region`, which only vertico
and ivy seem to implement.
2024-02-09 18:42:52 -03:00
Luigi Sartor Piucco
188e73b057
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.
2024-02-09 18:42:51 -03:00
Luigi Sartor Piucco
628280040f
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 unintended nestings were corrected as well. The changes
were documented in the README.
2024-02-09 18:42:22 -03:00
Luigi Sartor Piucco
28ffdd016d
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-02-09 16:28:20 -03:00
StrawberryTea
a265414d6d
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.
2024-02-09 16:28:20 -03:00
Luigi Sartor Piucco
ac665e751e
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.
2024-02-09 16:28:20 -03:00
Luigi Sartor Piucco
f7314bebbb
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;
2024-02-09 16:28:15 -03:00
7cef14960a dev: updating from latest pr7002 2024-02-06 14:05:25 -05:00
Luigi Sartor Piucco
37da8c54dc
bump: :completion corfu + evil-collection
The `evil-collection` upgrade is needed due to a recent breaking change
in Corfu's setup and teardown functions. `evil-collection`
`:after`-advised these with `#'evil-normalize-keymaps`, which accepts
only 1 optional argument. This was fine because the functions took no
arguments, but some have been introduced recently. Trying to initiate
completion would now throw a "too many arguments" error, and due to the
partial operation on the keymaps, make Emacs mostly unusable.

Related links:
- 9cebcfedca
- cf1a11912d
- 61a20a5036
- 2eb68ac588
2024-02-06 15:24:09 -03:00
Luigi Sartor Piucco
5ac126624c
feat(corfu): general move-to-minibuffer impl
We relied directly on consult for this, meaning it needed the vertico
module. Now, it should defer to the user's choice, including helm, ivy
and ido. Note the convention for this indirection is using the
`completing-read` API, which all such packages implement. This diverges
from Corfu's suggestion of `completion-in-region`, which only vertico
and ivy seem to implement.
2024-02-06 15:24:09 -03:00
Luigi Sartor Piucco
2f755aaffe
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.
2024-02-06 15:24:09 -03:00
Luigi Sartor Piucco
76012e3959
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.
2024-02-06 15:24:09 -03:00
Luigi Sartor Piucco
1787d06a2a
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-02-06 15:24:09 -03:00
StrawberryTea
d265375368
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.
2024-02-06 15:24:09 -03:00
Luigi Sartor Piucco
6eda3ed171
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.
2024-02-06 15:24:08 -03:00
Luigi Sartor Piucco
5108a79b25
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;
2024-02-06 15:24:08 -03:00
Henrik Lissner
4cb06578fc
bump: :completion
DarwinAwardWinner/ido-completing-read-plus@49e7967ea8 -> DarwinAwardWinner/ido-completing-read-plus@5995b4605b
company-mode/company-mode@ed46a616ab -> company-mode/company-mode@02903bd708
emacs-helm/helm@96aad023cb -> emacs-helm/helm@f34ea6b702
lewang/flx@7b44a5abb2 -> lewang/flx@4b1346eb9a
mhayashi1120/Emacs-wgrep@3132abd375 -> mhayashi1120/Emacs-wgrep@208b9d01cf
minad/consult@e4d3712356 -> minad/consult@9463146ba7
minad/vertico@cf8b2abf52 -> minad/vertico@4a7da56b02
oantolin/embark@33c392cf3c -> oantolin/embark@60139db879
radian-software/prescient.el@707c25c947 -> radian-software/prescient.el@4b875be52e
tumashu/vertico-posframe@bc0e67cbbb -> tumashu/vertico-posframe@2e0e09e5bb
2024-02-05 17:21:21 -05:00
1ec1de31b6 dev: updating from latest pr7002 2024-02-05 10:05:56 -05:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
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
2024-02-04 17:54:29 -05:00
Luigi Sartor Piucco
f74c7fc043
bump: :completion corfu + evil-collection
The `evil-collection` upgrade is needed due to a recent breaking change
in Corfu's setup and teardown functions. `evil-collection`
`:after`-advised these with `#'evil-normalize-keymaps`, which accepts
only 1 optional argument. This was fine because the functions took no
arguments, but some have been introduced recently. Trying to initiate
completion would now throw a "too many arguments" error, and due to the
partial operation on the keymaps, make Emacs mostly unusable.

Related links:
- 9cebcfedca
- cf1a11912d
- 61a20a5036
- 2eb68ac588
2024-02-04 18:19:04 -03:00
Luigi Sartor Piucco
cc6b0ee274
feat(corfu): general move-to-minibuffer impl
We relied directly on consult for this, meaning it needed the vertico
module. Now, it should defer to the user's choice, including helm, ivy
and ido.
2024-02-04 17:17:13 -03:00
Luigi Sartor Piucco
1983c4c5d9
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.
2024-02-03 18:18:53 -03:00
Luigi Sartor Piucco
a942d2ccae
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.
2024-02-03 18:18:53 -03:00
Luigi Sartor Piucco
9a1795fce5
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-02-03 18:18:53 -03:00
StrawberryTea
48975143e4
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.
2024-02-03 18:18:52 -03:00
Luigi Sartor Piucco
e4559257a7
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.
2024-02-03 18:18:52 -03:00
Luigi Sartor Piucco
a86a819a35
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;
2024-02-03 18:18:43 -03:00
f8d06642da dev: erge branch 'pr7002' into emenel 2024-02-03 11:14:50 -05:00
ea3bcdaa32 dev: merge branch 'pr7002' into emenel 2024-02-02 17:52:59 -05:00
63db5899fc dev: merging from master 2024-02-02 17:52:48 -05:00
Luigi Sartor Piucco
4ab0d9ad95
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.
2024-02-02 13:00:24 -03:00
Luigi Sartor Piucco
2f33f7760a
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.
2024-02-02 12:57:11 -03:00
Luigi Sartor Piucco
db34c67d20
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-02-02 12:37:37 -03:00
StrawberryTea
62b2cf9cbf
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.
2024-02-02 12:37:37 -03:00
Luigi Sartor Piucco
aa900c8158
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.
2024-02-02 12:37:37 -03:00
Luigi Sartor Piucco
ee1ebab197
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;
2024-02-02 12:37:37 -03:00
45mm
82b6bd3159 docs(ivy): mention lowered ivy-sort-max-size
Depending on the system, this can cause sorting to be disabled long
before the performance hit would be felt, and it's not obvious that this
is the reason.
2024-02-02 03:25:25 -05:00
9f00bc021b dev: updating local from master 2024-01-29 10:14:25 -05:00
3f8b1f1f41 dev: updating pr7002 from pr 2024-01-29 10:14:05 -05:00
Itai Y. Efrat
828445dbfb bump: :completion vertico
mhayashi1120/Emacs-wgrep@3132abd375 -> mhayashi1120/Emacs-wgrep@208b9d01cf
minad/consult-flycheck@0662839aa5 -> minad/consult-flycheck@d83f87581a
minad/consult@9c7dbbe4d6 -> minad/consult@e4d3712356
minad/marginalia@27ccfd2213 -> minad/marginalia@ea356ebb1d
minad/vertico@e8edac107d -> minad/vertico@cf8b2abf52
oantolin/embark@b9f2b3b9a5 -> oantolin/embark@33c392cf3c
tumashu/vertico-posframe@15168c92ca -> tumashu/vertico-posframe@bc0e67cbbb
2024-01-27 23:59:34 +02:00
Itai Y. Efrat
1584f8a61e fix(vertico): use consult-fd only with new enough fd 2024-01-27 23:34:56 +02:00
Itai Y. Efrat
190a37043c bump: :completion vertico
minad/consult@43380042da -> minad/consult@9c7dbbe4d6
minad/marginalia@f1734375a5 -> minad/marginalia@27ccfd2213
minad/vertico@03bfb71a2b -> minad/vertico@e8edac107d
oantolin/embark@7758a1ac64 -> oantolin/embark@b9f2b3b9a5
oantolin/orderless@d6b402a89e -> oantolin/orderless@b24748093b
tumashu/vertico-posframe@db9fbc95bb -> tumashu/vertico-posframe@15168c92ca
2024-01-27 23:34:56 +02:00
Liam Hupfer
76f309ceb5 tweak(vertico): show entire path for fd results
Currently, fd does not expose a way to match against only the path
components beneath the target path. When --full-path is specified, the
pattern matches against all components. For example, executing
consult-fd from /home/hlissner/.emacs.d with `home` as the query would
match every file (not excluded by other arguments) under .emacs.d.
Despite this --full-path behavior, fd still outputs relative paths, so
the user cannot even determine why some candidates are returned.

Until there is a method to match only against subdirectories, use
--absolute-path to at least to show the user why all matches are
occurring.

Ref: https://github.com/sharkdp/fd/issues/839
2024-01-27 23:34:56 +02:00
Liam Hupfer
25a89491a3 nit(vertico): remove default --regex option for fd
Ref: eac20a8132
2024-01-27 23:34:56 +02:00
Liam Hupfer
cb62ec0905 tweak(vertico): use fd’s smart case
If the user is going to the trouble of capitalizing input, that’s
probably all they want to match.

Ref: 6482f3ac09
2024-01-27 23:34:56 +02:00
Itai Y. Efrat
7803ea2e73 fix(vertico): consult-project(-root->)-function 2024-01-27 23:34:56 +02:00