ELMO - Embark Live Mode for Emacs

Do not use Elmo.

Just making a note here. Following the release of mct.el, I packaged some similar code I had lying around to use Embark live collect buffers as an incremental completion system for Emacs. That is, it does roughly the same thing as other completion systems: allow you to select candidates by typing in stuff at the minibuffer.

Elmo is idiosyncratic. It does not show completions until you type some characters. It debounces completion candidate updates. It shows certain categories of completions in a grid. RET behaves like in Ido: it selects the top candidate or “enters” directories. On the flip side, the candidate buffer is a regular read-only buffer so you can use all your navigation commands. Regions, rectangles, registers, the whole lot. It’s also (slightly) better integrated into Embark on the whole than the others, because it is some glue applied to Embark.

Elmo is slow. Use Selectrum, or Vertico, or Ivy, or Icomplete instead.1 My primary reason for turning it into a minor-mode from a gaggle of hooks is that I can now turn it off.

Do not use Elmo.


  1. Or Helm, but that’s more of a lifestyle than a completion system. ↩︎