This package adds fuzzy matching to company, powered by the sophisticated sorting heuristics in flx.
To install, either clone this package directly, or execute M-x package-install
RET company-flx
RET.
After the package is installed, you can enable company-flx
by adding the following to your init file:
(with-eval-after-load 'company
(company-flx-mode +1))
Use the variable company-flx-limit
to control the number of candidates that are scored by flx
. flx
can be slow, and the default is set rather high, so if you experience lag, consider lowering the limit.
Crazy stuff simmers in my emacs-config
, and every once and a while, it's worth sharing. This was no exception. It's been patiently evolving in my config for the better part of a year, and I think it's useful enough to benefit other people.
Also of interest is company-mode/company-mode #47.
This only works with the company-capf
backend. Most sources use this backend, with the exception of the more advanced sources. Most backends should be re-written in terms of completion-at-point-functions
eventually, although it's going to take a while.
The most important source that doesn't work is company-dabbrev
.