Monaco
@mudomi/onykia-monaco
is minimal: edit forwarding + diagnostics + priming. No highlight,
autocomplete, hover, or definition - those live only in the
CodeMirror binding for now.
monaco-editor is a peer dependency.
Usage
primeFile seeds the engine's VFS with the model's current text, then
bindTypst attaches the live listeners that keep the engine in sync and surface
diagnostics.
Options
Both default to enabled. The returned object's dispose() detaches every
listener it installed.
Lower-level entry points
If you don't want the bindTypst wrapper, the pieces are exported:
forwardEdits(core, model, path)- returns a disposable that mirrors model edits intocore.edit().primeFile(core, model, path, mime?)- create the VFS file from the model's current value before binding (mimedefaults totext/x-typst).
Rendering/export is identical to everything else - see Rendering.