var               =  { (ASCII_ALPHANUMERIC | "_")+ }
default           =  { (!"]]" ~ ANY)+ }
input             =  { var ~ (whitespace* ~ "=" ~ whitespace* ~ default)? }

whitespace        = _{ "\t" | " " }
var_placeholder   = _{ "{{" ~ whitespace* ~ var ~ whitespace* ~ "}}" }
input_placeholder = _{ "[[" ~ whitespace* ~ input ~ whitespace* ~ "]]" }
word              =  { (!("{{"|"[[") ~ ANY)+ }
text              =  { SOI ~ (var_placeholder | input_placeholder | word)* }
