You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

15 lines
715 B
Plaintext

; This grammar spec uses the ABNF notation as defined in RFC 5234.
template = space *component
component = *listener name space [ param-list space ] [ child-list space ]
listener = "@" ident space "(" space expr space ")" space
name = [ path-sep space ] ident *( space path-sep space ident )
path-sep = "::"
param-list = "(" space *( param space "," space ) [ param space ] ")"
param = ident space ":" space expr
child-list = "{" space *( component ) "}"
expr = <now that's just rust code, stop being a pedantic bitch about it>
ident = <any valid rust identifier, excluding those starting with "__uwui">
space = *( <anything that rust considers whitespace, including comments> )