Make helm the default completion module for Doom

It's been a change a long time coming. Ivy's snappiness and simple API
was Ivy's selling point (as far as Doom is concerned). It helps that
much of helm's vast featureset has been ported over and its API is so
much simpler to grok, but its greatest weakness lies in its choice of
display mechanism: the minibuffer.

Ivy's performance suffers dramatically with large datasets because
mutating results in the minibuffer blocks the minibuffer, which also
happens to be where we type in our queries. This can make input feel
dreadfully sluggish in the best cases, locking up Emacs entirely in the
worst.

Helm updates a buffer asynchronously, so it suffers none of this (though
the overhead of maintaining this buffer is certainly overkill for tiny
datasets).

And Ivy's simple API, while easier to understand, is significantly less
powerful. That it takes so much effort to grok Helm is a huge turn
off (and of course, no fault of the dev). Still, there simply is no
excuse for power users like myself to not do so anyway. The more I learn
about it, the more I wonder why I stuck to ivy for so long (but also
reminds me exactly why I did)!
This commit is contained in:
Henrik Lissner 2018-08-06 00:08:28 +02:00
parent 9c11ee9eef
commit a01aeb6daf
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -18,11 +18,11 @@
:completion
(company ; the ultimate code completion backend
+auto) ; as-you-type code completion
;(helm ; the *other* search engine for love and life
; +fuzzy) ; enable fuzzy search backend for helm
(helm ; the *other* search engine for love and life
+fuzzy) ; enable fuzzy search backend for helm
;ido ; the other *other* search engine...
(ivy ; a search engine for love and life
+fuzzy) ; enable fuzzy search backend for ivy
;(ivy ; a search engine for love and life
; +fuzzy) ; enable fuzzy search backend for ivy
:ui
doom ; what makes DOOM look the way it does