'# Based on examples included the RFC files.' Comment.Single
'\n'          Text

"# It doesn't show cases for every token parsed by the lexer." Comment.Single
'\n\n'        Text

'require'     Keyword.Namespace
' '           Text
'['           Punctuation
'"fileinto"'  Literal.String
','           Punctuation
' '           Text
'"envelope"'  Literal.String
']'           Punctuation
';'           Punctuation
'\n\n'        Text

'if'          Name.Builtin
' '           Text
'address'     Name.Builtin
' '           Text
':'           Name.Tag
'is'          Name.Tag
' '           Text
'"to"'        Literal.String
' '           Text
'"demo@example.org"' Literal.String
' '           Text
'{'           Punctuation
'\n  '        Text
'fileinto'    Name.Builtin
' '           Text
'"demo-list"' Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
' '           Text
'elsif'       Name.Builtin
' '           Text
'envelope'    Name.Builtin
' '           Text
':'           Name.Tag
'is'          Name.Tag
' '           Text
'"from"'      Literal.String
' '           Text
'"owner@example.org"' Literal.String
' '           Text
'{'           Punctuation
'\n  '        Text
'fileinto'    Name.Builtin
' '           Text
'"lists.cipe"' Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
' '           Text
'elsif'       Name.Builtin
' '           Text
'('           Punctuation
'exists'      Name.Builtin
' '           Text
'"X-Cron-Env"' Literal.String
','           Punctuation
'\n          ' Text
'header'      Name.Builtin
' '           Text
':'           Name.Tag
'regex'       Name.Tag
'    '        Text
'['           Punctuation
'"subject"'   Literal.String
']'           Punctuation
' '           Text
'['           Punctuation
'".* A"'      Literal.String
','           Punctuation
'\n                                        ' Text
'".* B"'      Literal.String
']'           Punctuation
')'           Punctuation
' '           Text
'{'           Punctuation
'\n  '        Text
'addflag'     Name.Builtin
' '           Text
'"Cron"'      Literal.String
';'           Punctuation
'\n  '        Text
'stop'        Name.Builtin
';'           Punctuation
'\n'          Text

'}'           Punctuation
' '           Text
'else'        Name.Builtin
' '           Text
'{'           Punctuation
'\n  '        Text
'keep'        Name.Builtin
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'if'          Name.Builtin
' '           Text
'body'        Name.Builtin
' '           Text
':'           Name.Tag
'text'        Name.Tag
' '           Text
':'           Name.Tag
'contains'    Name.Tag
' '           Text
'"project schedule"' Literal.String
' '           Text
'{'           Punctuation
'\n        '  Text
'fileinto'    Name.Builtin
' '           Text
'"project/schedule"' Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'require'     Keyword.Namespace
' '           Text
'"vacation"'  Literal.String
';'           Punctuation
'\n'          Text

'if'          Name.Builtin
' '           Text
'header'      Name.Builtin
' '           Text
':'           Name.Tag
'contains'    Name.Tag
' '           Text
'"subject"'   Literal.String
' '           Text
'"lunch"'     Literal.String
' '           Text
'{'           Punctuation
'\n    '      Text
'vacation'    Name.Builtin
' '           Text
':'           Name.Tag
'handle'      Name.Tag
' '           Text
'"ran-away"'  Literal.String
' '           Text
'"I\'m out and can\'t meet for lunch"' Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
' '           Text
'else'        Name.Builtin
' '           Text
'{'           Punctuation
'\n    '      Text
'vacation'    Name.Builtin
' '           Text
':'           Name.Tag
'handle'      Name.Tag
' '           Text
'"ran-away"'  Literal.String
' '           Text
'"I\'m out"'  Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n\n'      Text

'if'          Name.Builtin
' '           Text
'virustest'   Name.Builtin
' '           Text
':'           Name.Tag
'value'       Name.Tag
' '           Text
'"eq"'        Literal.String
' '           Text
':'           Name.Tag
'comparator'  Name.Tag
' '           Text
'"i;ascii-numeric"' Literal.String
' '           Text
'"0"'         Literal.String
' '           Text
'{'           Punctuation
'\n  '        Text
'fileinto'    Name.Builtin
' '           Text
'"Unscanned"' Literal.String
';'           Punctuation
'\n  '        Text
'/* Infected with high probability (value range in 1-5) */' Comment.Multiline
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'if'          Name.Builtin
' '           Text
'envelope'    Name.Builtin
' '           Text
':'           Name.Tag
'detail'      Name.Tag
' '           Text
'"to"'        Literal.String
' '           Text
'"spam"'      Literal.String
'{'           Punctuation
'\n  '        Text
'fileinto'    Name.Builtin
' '           Text
'"Spam"'      Literal.String
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'if'          Name.Builtin
' '           Text
'size'        Name.Builtin
' '           Text
':'           Name.Tag
'over'        Name.Tag
' '           Text
'100'         Literal.Number
'k'           Literal.Number
' '           Text
'{'           Punctuation
'\n  '        Text
'discard'     Name.Builtin
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n'          Text

'elsif'       Name.Builtin
' '           Text
'address'     Name.Builtin
' '           Text
':'           Name.Tag
'DOMAIN'      Name.Tag
' '           Text
':'           Name.Tag
'is'          Name.Tag
' '           Text
'['           Punctuation
'"From"'      Literal.String
','           Punctuation
' '           Text
'"To"'        Literal.String
']'           Punctuation
' '           Text
'"example.com"' Literal.String
'\n'          Text

'{'           Punctuation
'\n  '        Text
'keep'        Name.Builtin
';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n\n'        Text

'require'     Keyword.Namespace
' '           Text
'['           Punctuation
'"reject"'    Literal.String
']'           Punctuation
';'           Punctuation
'\n\n'        Text

'if'          Name.Builtin
' '           Text
'size'        Name.Builtin
' '           Text
':'           Name.Tag
'over'        Name.Tag
' '           Text
'1'           Literal.Number
'M'           Literal.Number
' '           Text
'{'           Punctuation
'\n  '        Text
'reject'      Name.Builtin
' '           Text
'text:'       Name.Tag
'\nYour message is too big.  If you want to send me a big attachment,\n' Literal.String

'put it on a public web site and send me a URL.\n' Literal.String

'.'           Punctuation
'\n'          Text

';'           Punctuation
'\n'          Text

'}'           Punctuation
'\n'          Text
