3 ms·
Various vertical completion frameworks like vertico are essentially front-end UIs. You can choose underlying filtering and sorting/scoring algorithm by setting
by natrys 3y ago
Various vertical completion frameworks like vertico are essentially front-end UIs. You can choose underlying filtering and sorting/scoring algorithm by setting `completion-styles` variable. One popular choice here is the orderless package (which probably doesn't give "fuzzy" completion experience as most people call it I guess, orderless-flex does filtering but not heuristic based sorting like fzf does).
There are some options outlined in the readme of fussy[1], which is a wrapper around them. There are some pure elisp ones, and some written in native languages (including fzf itself) interfaced with dynamic module (so FFI rather than subprocess). Does that qualify as Emacs level?
[1] https://github.com/jojojames/fussy https://github.com/jojojames/fussy
- tetris11 3y agoYeah, I'm currently using orderless with vertico for my "fuzzy" needs, but I genuinely do find ido completion much faster and more practical 90% of the time.
- flylikeabanana 3y agoOrderless is probably the way to go for a “pure emacs” solution - its selling point is that you can feed whatever function you want into the completion framework, so if you feed a fuzzy completer then you get fuzzy matching. It’s also part of a relatively new completion stack (that includes vertico, marginalia, and others) that leverages the inbuilt emacs features instead of replacing them.