WHITESPACE = _{ WHITE_SPACE }
completion = { "x" }
priority = { "(" ~ ASCII_ALPHA ~ ")" }
date = @{ ASCII_DIGIT{4} ~ "-" ~ ASCII_DIGIT{2} ~ "-" ~ ASCII_DIGIT{2} }
creation_date = { date }
completion_date = { date }
context = @{ "@" ~ ASCII_ALPHANUMERIC+ }
project = @{ "+" ~ ASCII_ALPHANUMERIC+ }
threshold_date = @{ "t:" ~ date }
due_date = @{ "due:" ~ date }
hidden = @{ "h:" ~ ( "1" | "0") }
word = @{ ASCII_ALPHANUMERIC+ }
token = { context | project | threshold_date | due_date | hidden | word }
todo = { completion? ~ priority? ~ creation_date? ~ completion_date? ~ token* }