@teacss/autocomplete
v0.10.11
Published
TeaCSS suggestion engine — utility-class completions for a partial token or a position in a file.
Readme
@teacss/autocomplete
Completion suggestions for TeaCSS editors and language tools.
createAutocomplete reads completion metadata from a configured generator. It
does not load configuration, define utilities, generate CSS, or implement an
editor protocol.
import { createAutocomplete } from "@teacss/autocomplete";
const autocomplete = createAutocomplete(generator, { matchType: "prefix" });
await autocomplete.suggest("bg-color:r");
await autocomplete.suggestInFile(code, offset);File-aware suggestions support quoted class attributes, valid unquoted HTML
values such as class=p:4, strings inside a class attribute's {…} expression,
and every operand of @apply and --at-apply:. They complete the text before
the cursor, and each one replaces the whole class or variant-group member.
An autocomplete template that starts with @ names a condition. It completes
the last @ segment of a token whose conditions no variant resolves, so
p:4@ho suggests p:4@hover. An @ inside brackets or quotes belongs to the
value, so content:['user@ suggests nothing. The Standard preset adds its
condition names this way.
In prefix mode, a template with nothing to expand, such as a plain
autocomplete.templates entry, completes like a static utility: it matches
only its written prefix.
With matchType: "fuzzy", every expansion of every template is a candidate.
Candidates are scored exactly as teacss-rs scores them with nucleo-matcher,
non-ASCII text included. Higher scores come first, then shorter suggestions,
then code-unit order. A template with more than 50,000 expansions offers none.
Results are bounded to 1,000 suggestions and 600,000 characters. Candidate scanning, template concurrency, and caching also have independent limits. Completion output follows the generator's resolved configuration.
Pre-1.0.
