Skip to Content
⌨️ TypefuTokens and Fields

Tokens and Fields

Tokens are the parts of a snippet in curly braces. Click Insert Token in the editor to pick one, so you don’t need to remember the syntax.

Hi {text name="Name"}, Your ticket is now {choice name="Status" options="Open=OPN, Closed=CLS"}. Here's your code: {list name="Promo" take=1}

Fields

Fields show up in the fill-in form.

TokenExample
Text{text name="Name"}
Multiline Text{text name="Notes" multiline}
Choice{choice name="Status" options="Open=OPN, Closed=CLS"}
Multiple Choice{multi name="Tags" options="Bug, Feature"}
From a List{list name="Countries"}
Date Picker{date name="Due" format="d MMMM yyyy"}
Number{number name="Quantity" min=1}
Toggle{toggle name="Signature" text="Best regards"}
  • Closed=CLS shows “Closed” in the form and inserts CLS.
  • Add default="...", placeholder="..." or required to any field.
  • A field name used twice is filled in once.
  • A toggle can insert other text when off: off="...".
  • Multiple choice and lists join with , . Change it with separator=" / ".

Values

Values fill themselves in.

TokenInsertsExample
Next Item from a ListThe next unused item{list name="Promo" take=1}
Today’s DateThe date{date format="d MMM yyyy"}
ClipboardWhat you last copied{clipboard}
Selected TextThe current selection{selection}
Another SnippetA snippet inside this one{snippet:Signature}
CounterA number that counts up{counter name="Invoice" start=1 pad=4}
UUIDA random ID{uuid}
RandomOne of several options{random options="Hi, Hello, Hey"}
Shell CommandA command’s output (5 second limit, change with timeout=){shell cmd="date +%Y"}
AIText from an AI model{ai prompt="Reply politely" input=selection}

Dates take a style (short, medium, long, full, iso, time), a pattern like yyyy-MM-dd, or a saved date format. The AI token reads the selection by default. Use input=clipboard, input=none or a field name, and preset="Proofread" to run an AI action.

Layout

TokenExample
Cursor Position{cursor}
If / Else{if Status == "OPN"}We're on it.{else}Closed.{end}
Note (not inserted){note text="For editors"}

Conditions support ==, !=, contains, startsWith, endsWith, in ("A", "B"), and >, <, >=, <= for numbers. Combine with and, or, not and parentheses, and add branches with {elseif ...}. A field on its own is true when it’s filled in and not false or 0.