Autocomplete

Tour

Try every kind of menu in a few keystrokes.

Put the cursor in the editor below and try the triggers. The playground has a clickable tour of every context and a live preview.

::card{title="Components" variant="outline"}
Props, values and slots complete as one chain.
::

TypeYou get
/ on an empty linethe block menu: components, headings, lists, table, callouts, code, math, diagrams, snippets
::block components (with a closer entry when a component is open)
{ after a componentits props; required first, set ones hidden
="the prop's values
: inside {}props you can bind, then binding roots
{{frontmatter, props, data, meta and loop variables, then their keys
# in a componentits slots
--- under an openera YAML props block with the same props
: in textinline components, and emoji after two letters
```fence languages, then [file], {1,3-5}, diff, twoslash
> [!alert types
[^footnotes, or a new one
](#heading ids
$\KaTeX commands
<HTML tags
Ctrl+Spacethe menu for wherever you are; mid-line, the inline menu (marks, link, span, binding, math)

Plain prose never opens a menu.

Bindings

---
title: Bindings
author:
  name: Ada
  role: Maintainer
---

Written by {{ frontmatter.author.name }}.

::for{:each="data.posts" item="post"}
- {{ post.title }}
::

Type {{ frontmatter. — the keys come from this document's frontmatter, and leaves show their values. Inside ::for, post. completes the fields of data.posts items.

Plugin syntax

> [!TIP]
> Alerts, emoji :rocket:, footnotes[^1] and math $e^{i\pi}$ all complete.

```ts [example.ts]
const answer = 42
```

[^1]: Like this one.
Copyright © 2026