emacs/var/elfeed/db/data/b8/b8f4b12e2d530f6ca56a0d776ea3e63de709ea01
2022-01-03 12:49:32 -06:00

54 lines
2.7 KiB
Plaintext

<p>Raw link: <a href="https://www.youtube.com/watch?v=roSD50L2z-A">https://www.youtube.com/watch?v=roSD50L2z-A</a></p>
<p>In this video I showcase my new package, <code>mct.el</code>. It makes the default
completion experience feel closer to what you get with vertically
aligned third-party completion interfaces, by only re-using built-in
functionality and its own glue code.</p>
<p>Quoting <a href="https://protesilaos.com/emacs/mct">from its documentation</a>:</p>
<blockquote>
<p>Minibuffer and Completions in Tandem, also known as “MCT”, “Mct”, mct,
or mct.el, is a package that enhances the default minibuffer and
<code>*Completions*</code> buffer of Emacs 28 (or higher) so that they work
together as part of a unified framework. The idea is to make the
presentation and overall functionality be consistent with other
popular, vertically aligned completion UIs while leveraging built-in
functionality.</p>
<p>The main feature set that unifies the minibuffer and the
<code>*Completions*</code> buffer consists of commands that cycle between the
two, making it seem like they are part of a contiguous space.</p>
<p>MCT tries to find a middle ground between the frugal defaults and the
more opinionated completion UIs. This is most evident in its approach
on how to present completion candidates. Instead of showing them
outright or only displaying them on demand, MCT implements a minimum
input threshold as well as a slight delay before it pops up the
<code>*Completions*</code> buffer and starts updating it to respond to user
input.</p>
<p>Customisation options control the input threshold
(<code>mct-minimum-input</code>) and the delay between live updates
(<code>mct-live-update-delay</code>). Similarly, a blocklist and a passlist for
commands are on offer.</p>
</blockquote>
<p>MCT is not available in any package archive for the time being, though I
do plan to submit it to GNU ELPA. In the meantime, you will have to
install it manually or with the help of <code>straight.el</code>, <code>quelpa</code>, or
similar. Its source code: <a href="https://gitlab.com/protesilaos/mct">https://gitlab.com/protesilaos/mct</a> (a
Github mirror exists as well).</p>
<hr />
<p>Those familiar with <a href="https://protesilaos.com/emacs/dotemacs">my dotemacs</a> may
notice that <code>mct.el</code> is derived from my now-deprecated
<code>prot-minibuffer.el</code> library. The longer-term plan is to turn every
piece of my custom code into its own package or submit it as a patch for
emacs.git (as we did with the <a href="https://protesilaos.com/codelog/2021-10-15-emacs-29-eww-rename-buffers/">auto-renaming feature of EWW
buffers</a>).</p>