reddit / emacs

Selectrum now deprecated in favor of Vertico

varsderk · 2022-11-28 19:29
I noticed over the weekend that the venerable [Selectrum](https://github.com/radian-software/selectrum) package made by Radon Rosborough has been deprecated in favor of Daniel Mendler's [Vertico](https://github.com/minad/vertico) package. Looks like this whole journey started in May when Daniel suggested Vertico replace Selectrum. [selectrum#598](https://github.com/radian-software/selectrum/issues/598#issuecomment-1121682815) The amount of humility and civility displayed by both Radon and Daniel has been inspiring—not something you see often in the software world. My journey has been Helm → Ivy → Selectrum → Vertico, and I can confidently say that Vertico has been the fastest, most reliable, and least buggy of them all. Thank you to all you Emacs package maintainers, but especially Radon and Daniel for working so hard to make lightweight completion the best it could be!
nv-elisp · 2022-11-28 19:34
Radon is an intelligent, humble, and kind person in my experience.
Primary-Wave2 · 2022-11-28 20:30
Very humble move from radon, I appreciate his contribution. Since selectrum was there before vertical to my knowledge, I am sure it influenced it heavily
[deleted] · 2022-11-28 20:47
[deleted]
github-alphapapa · 2022-11-28 21:01
Indeed, Radon's humility and dedication to excellence is instructive to all of us. Cheers to all involved, and long live Emacs.
varsderk · 2022-11-28 21:41
> I am sure it influenced it heavily Oh yes, it did. Daniel was a big contributor to the Selectrum codebase and built Vertico as an experiment to improve Selectrum's handling of dynamic completion tables, if I understand right. From Vertico's README: > Vertico was designed specifically to address the technical shortcomings of Selectrum. So yes, we would not have Vertico without Selectrum blazing the way.
doolio_ · 2022-11-28 21:55
Very generous with his time too.
bozhidarb · 2022-11-29 06:30
> My journey has been Helm → Ivy → Selectrum Mine has been `ido` --> `ivy` --> `selectrum`. Seems the time has come for me to try `vertico` as well. :-)
stuudente · 2022-11-29 06:37
What an amazing conversation and smooth transition in selectrum#598.
Vince_Vice · 2022-11-29 11:03
> long live Emacs Long live emacs! I like that dictum
Imxset21 · 2022-11-29 13:29
I'm a dumb Helm user who switched to Ivy/Counsel. What's the overlap with Vertico? Should I try to use it instead of Counsel?
1hackaday · 2022-11-29 13:41
Same boat here. Would be interested to know if there are benefits in switching from Counsel to Vertico.
github-alphapapa · 2022-11-29 14:10
I toot this horn a lot around here, but it remains true: while Vertico and all of these other completion packages are great (and I use several of them), Helm has certain features that are unmatched in other tools (like easily combining multiple sources, even of different types; selecting and acting on multiple candidates at once, etc). And its API, while large, is more straightforward to use than the Emacs completion API which these other packages try to extend. So Helm remains a powerful, useful tool.
Imxset21 · 2022-11-29 15:25
The reason why I switched to Ivy in 2019 or so was because it seemed like Thierry had retired and Helm was unmaintained. It seems that's no longer the case?
varsderk · 2022-11-29 17:54
I'm not trying to contradict you, but I did want to mention that Vertico *does* also have the helm-like ability to handle multiple sources. (See the `consult-projectile` package, as well as the `consult-buffer` command and friends.)
varsderk · 2022-11-29 18:03
You're not dumb at all! That's a great question. Just to be clear, Vertico is just the vertical completion package. The complimentary Consult package (also by Daniel Mendler) targets the Counsel-like functionality. So, why switch? I personally find Vertico+Consult easier to customize and extend, but that's fairly subjective. *Objectively* Vertico and Consult are smaller and more light-weight packages that pretty much Just Work™ wherever because they follow the `completing-read` API. (`consult-line` is also a nice replacement for Swiper.) I dunno—I like how Vertico+Counsel feel. I'm not sure how good the support for [Orderless](https://github.com/oantolin/orderless) and [Embark](https://github.com/oantolin/embark/) are in Ivy, but I really like how those packages compose so nicely with the Vertico+Consult ecosystem. If you try it out, let us know!
_viz_ · 2022-11-30 02:26
consult-multi is completion UI agnostic and can work with any UI, it has nothing to do with vertico specially.
nv-elisp · 2022-11-30 13:34
That was never the case. He's taken a brief break or two from daily maintenance. It is one of the most consistently updated elisp packages. People panicked when he announced he was doing so for no reason.
meedstrom · 2022-12-01 08:40
And we would not have Selectrum without Ivy blazing the way. Nor Ivy without Helm blazing the way.
github-alphapapa · 2022-12-01 19:30
It never ceases to amaze me how quickly rumors spread and how people overreact. He took a few weeks off, and people started uninstalling. I've gone years without upgrading Helm in my Emacs config. Anyway, if you want to know the truth, you can look at the Helm repo on GitHub.
github-alphapapa · 2022-12-01 19:31
I am aware of that. As I said, Helm allows the use of multiple sources (and ones that provide different kinds of candidates with different sets of actions) *easily*.