this post was submitted on 29 Nov 2023
1 points (100.0% liked)
Emacs
310 readers
2 users here now
A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!
Get Emacs
Rules
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
/u/hvis Would you consider changing this, since this way of deduplication in the frontend is quite inefficient? Given that the default completion UI demands that candidates are unique with respect to
equal
and even deletesequal
duplicates, the backend should better produce unique candidates.Deduplicating in the backend is not difficult, all that is needed is adding a suffix like (1), (2), (3), ... In fact, this is what I am doing in my Consult package, which also is a backend and provides completion tables. For example for the
consult-line
command I was facing the same issue, that candidates must be unique with respect toequal
and not toeq
.cc /u/JDRiverRun
I’d also worry that an eq test is a bit fragile, and could go mysteriously wrong if any step in the chain decided down the road to copy or duplicate the string.
Actually, I forgot how this works in most cases X-D.
And it happens through text properties, which backends add to their completion strings. Then the
annotation
andkind
operations look them up.Makes sense. I thought in the past the default completion system stripped out text properties? But I dimly recall that situation changed recently (v29?).