feat(corfu): general move-to-minibuffer impl

We previously implemented only consult/vertico as a target for export,
now we have all of them. It was necessary to use case-by-case
conditions, unfortunately, because other UIs have subtle quirks that
prevent a single generalized approach to work.

Ivy is almost compliant, but it needs beg and end to not be markers.

Helm doesn't replace `completion-in-region-function`, it expects to go
around the default `completion--in-region`, so a small addition was made
to its module, because we weren't doing that. This was likely an
oversight due to the non-standard usage. This was fixed here because we
need it working for this feature.

Ido doesn't implement `completion-in-region` and its `completing-read`
is retricted to a list of strings as table, so it's treated the same as
absence of a framework, because it lacks the needed features.
This commit is contained in:
Luigi Sartor Piucco 2024-02-04 17:17:13 -03:00
parent a5db530622
commit 70c327a4f1
No known key found for this signature in database
GPG key ID: 6FF1A01853A47A66
4 changed files with 31 additions and 11 deletions

View file

@ -24,6 +24,7 @@ Can be negative.")
(use-package! helm-mode
:hook (doom-first-input . helm-mode)
:config
(advice-add #'completion--in-region :around #'helm--completion-in-region)
;; helm is too heavy for `find-file-at-point'
(add-to-list 'helm-completing-read-handlers-alist (cons #'find-file-at-point nil)))