Interpolates an expression into a JSX attribute literal.
Instances For
Interpolates a collection into a JSX attribute literal.
For HTML tags, this should have type Array (String × Json).
For ProofWidgets.Components, it can be any structure $t whatsoever:
it is interpolated into the component's props using { $t with ... } notation.
Instances For
Characters not allowed inside JSX plain text.
Instances For
A plain text literal for JSX (notation for Html.text).
Instances For
Interpolates an array of elements into a JSX literal
Instances For
Interpolates an expression into a JSX literal
Instances For
def ProofWidgets.Jsx.transformTag (tk : Lean.Syntax) (n m : Lean.Ident) (vs : Array (Lean.TSyntax `proofWidgetsJsxAttr)) (cs : Array (Lean.TSyntax `proofWidgetsJsxChild)) :
Instances For
First delaborate into our non-term TSyntax. Note this means we can't call delab,
so we have to add the term annotations ourselves.
def ProofWidgets.Jsx.delabHtmlText :
Lean.PrettyPrinter.Delaborator.DelabM (Lean.TSyntax `ProofWidgets.Jsx.jsxText)
Instances For
partial def ProofWidgets.Jsx.delabHtmlElement' :
Lean.PrettyPrinter.Delaborator.DelabM (Lean.TSyntax `proofWidgetsJsxElement)
partial def ProofWidgets.Jsx.delabHtmlOfComponent' :
Lean.PrettyPrinter.Delaborator.DelabM (Lean.TSyntax `proofWidgetsJsxElement)
partial def ProofWidgets.Jsx.delabJsxChildren :
Lean.PrettyPrinter.Delaborator.DelabM (Array (Lean.TSyntax `proofWidgetsJsxChild))
Now wrap our TSyntax _ delaborators into Term elaborators.