moonbitstack/moonpug/syntax does not have a README file
pub(all) enum Expr {
Lit(Value)
Name(String)
List(Array[Expr])
Tuple(Array[Expr])
Dict(Array[(Expr, Expr)])
Attr(Expr, String)
Item(Expr, Expr)
Slice(Expr?, Expr?, Expr?)
Call(Expr, Array[Arg])
Not(Expr)
Neg(Expr)
Pos(Expr)
Binary(Op, Expr, Expr)
Compare(Expr, Array[(Op, Expr)])
Concat(Array[Expr])
Cond(Expr, Expr, Expr?)
Filter(Expr?, String, Array[Arg])
Test(Expr, String, Array[Arg])
Attributes(Array[Attr], Array[Expr])
}pub(all) struct Lexer {
src : String
template : String
pos : Int
line : Int
line_start : Int
}pub(all) enum Node {
Line(Int)
Text(String)
Out(Expr)
Raw(Expr)
For(target~ : Target, iter~ : Expr, cond~ : Expr?, recursive~ : Bool, each~ : Bool, body~ : Array[Node], otherwise~ : Array[Node])
If(Array[(Expr, Array[Node])], Array[Node])
Set(Target, Expr)
SetBlock(Target, Expr?, Array[Node])
MacroDef(Macro)
CallBlock(Array[Param], Expr, Array[Node])
FilterBlock(Expr, Array[Node])
Extends(Expr)
BlockDef(Block)
Include(Expr, missing~ : Bool, context~ : Bool, raw~ : Bool, inline~ : Bool, block~ : Array[Node])
Yield
Import(Expr, String, context~ : Bool)
FromImport(Expr, Array[(String, String?)], context~ : Bool)
With(Array[(Target, Expr)], Array[Node])
Autoescape(Expr, Array[Node])
Do(Expr)
Debug
Show(Expr, Array[Node])
Once(Expr?, Array[Node])
TransOut(Trans)
Break
Continue
Element(Element)
Doctype(String)
Comment(Array[Node])
Case(Expr, Array[(Array[Expr], Array[Node])], Array[Node])
}pub(all) struct Options {
trim_blocks : Bool
lstrip_blocks : Bool
keep_trailing_newline : Bool
line_statement : String?
line_comment : String?
}pub(all) enum Tok {
Data(String)
VarBegin
VarEnd
BlockBegin
BlockEnd
Name(String)
Str(String)
Int(Int64)
Float(Double)
Op(String)
Lang(String, Bool?, String)
Eof
} derive(Eq)Install
Download zipTemplates for MoonBit: text with braces, indented markup or Markdown over one expression language; compiled once, rendered many times.