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
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> )
|