[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] `completing-read`: Add `group-function` support to completio
From: |
Juri Linkov |
Subject: |
Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH) |
Date: |
Sun, 25 Apr 2021 23:45:48 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
> You can try the patch with the following settings and execute
> `xref-find-references` for example (M-?).
I tried and it looks really nice. One question about performance:
there are 3 calls of the same function on every completion candidate:
twice it's called with the nil arg, and one call with the 'transform' arg:
> +(defun minibuffer--group-by (fun elems)
> + (let* ((key (funcall fun cand nil))
> @@ -1780,6 +1829,12 @@ completion--insert-strings
> + (let ((title (funcall group-fun (if (consp str) (car str) str)
> nil)))
> @@ -1825,8 +1880,15 @@ completion--insert-strings
> + (funcall group-fun str 'transform)
> @@ -2098,15 +2171,22 @@ minibuffer-completion-help
> + (minibuffer--group-by group-fun completions)))
My concern is how fast it will work on a large list of candidate strings?
Would it be possible to optimize it to call the group function only once
on every candidate? This might require changing the data structure,
for example, to an alist like is returned by `seq-group-by`.
Another variant is to put additional text properties on candidate strings,
e.g. a text property on redundant prefix with the group title that
completion--insert-strings then could fetch from the input string.
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, (continued)
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Dmitry Gutov, 2021/04/26
- Re:Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, tumashu, 2021/04/26
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Daniel Mendler, 2021/04/26
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Dmitry Gutov, 2021/04/27
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Stefan Monnier, 2021/04/26
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Dmitry Gutov, 2021/04/27
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata, Stefan Monnier, 2021/04/27
Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Daniel Mendler, 2021/04/25
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH),
Juri Linkov <=
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Juri Linkov, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Daniel Mendler, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Stefan Monnier, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Daniel Mendler, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH), Juri Linkov, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH VERSION 2), Daniel Mendler, 2021/04/29
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH VERSION 2), Daniel Mendler, 2021/04/30
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH VERSION 2), Juri Linkov, 2021/04/30
- Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata (REVISED PATCH VERSION 2), Daniel Mendler, 2021/04/30