'# An example of the Zeek scripting language.' Comment
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'##! A Zeekygen-style summmary comment.' Comment
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'# TODO: just an example of a todo-indicator' Comment
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'@load base/frameworks/notice' Comment.Preproc
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'@if'         Comment.Preproc
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'F'           Keyword.Constant
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'@endif'      Comment.Preproc
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'module'      Keyword.Namespace
' '           Text.Whitespace
'Example'     Name.Namespace
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'export'      Keyword
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'type'        Keyword
' '           Text.Whitespace
'mycount'     Name
':'           Operator
' '           Text.Whitespace
'count'       Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'type'        Keyword
' '           Text.Whitespace
'SimpleEnum'  Name.Class
':'           Operator
' '           Text.Whitespace
'enum'        Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'ONE'         Name
','           Punctuation
' '           Text.Whitespace
'TWO'         Name
','           Punctuation
' '           Text.Whitespace
'THREE'       Name
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'redef'       Keyword
' '           Text.Whitespace
'enum'        Keyword.Type
' '           Text.Whitespace
'SimpleEnum'  Name.Class
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'## A Zeekygen-style comment.' Comment
'\n'          Text.Whitespace

'    '        Text.Whitespace
'FOUR'        Name
','           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'FIVE'        Name
','           Punctuation
' '           Text.Whitespace
'##< A Zeekygen-style comment.' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'type'        Keyword
' '           Text.Whitespace
'SimpleRecord' Name.Class
':'           Operator
' '           Text.Whitespace
'record'      Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'field1'      Name
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'field2'      Name
':'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'&redef'      Keyword.Pseudo
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'redef'       Keyword
' '           Text.Whitespace
'record'      Keyword.Type
' '           Text.Whitespace
'SimpleRecord' Name.Class
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'field3'      Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
' '           Text.Whitespace
'&optional'   Keyword.Pseudo
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'field4'      Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
' '           Text.Whitespace
'&default'    Keyword.Pseudo
'='           Operator
'"'           Literal.String
'b'           Literal.String
'l'           Literal.String
'a'           Literal.String
'h'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'const'       Keyword.Declaration
' '           Text.Whitespace
'init_option' Name
':'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'T'           Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'option'      Keyword.Declaration
' '           Text.Whitespace
'runtime_option' Name
':'           Punctuation
' '           Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'F'           Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'global'      Keyword.Declaration
' '           Text.Whitespace
'test_opaque' Name
':'           Punctuation
' '           Text.Whitespace
'opaque'      Keyword.Type
' '           Text.Whitespace
'of'          Operator.Word
' '           Text.Whitespace
'md5'         Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'global'      Keyword.Declaration
' '           Text.Whitespace
'test_vector' Name
':'           Punctuation
' '           Text.Whitespace
'vector'      Keyword.Type
' '           Text.Whitespace
'of'          Operator.Word
' '           Text.Whitespace
'count'       Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'global'      Keyword.Declaration
' '           Text.Whitespace
'myfunction'  Name
':'           Punctuation
' '           Text.Whitespace
'function'    Keyword.Type
'('           Punctuation
'msg'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'c'           Name
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
' '           Text.Whitespace
'&default'    Keyword.Pseudo
'='           Operator
'0'           Literal.Number.Float
')'           Punctuation
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'global'      Keyword.Declaration
' '           Text.Whitespace
'myhook'      Name
':'           Punctuation
' '           Text.Whitespace
'hook'        Keyword.Type
'('           Punctuation
'tag'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'global'      Keyword.Declaration
' '           Text.Whitespace
'myevent'     Name
':'           Punctuation
' '           Text.Whitespace
'event'       Keyword.Type
'('           Punctuation
'tag'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'function'    Keyword.Type
' '           Text.Whitespace
'myfunction'  Name.Function
'('           Punctuation
'msg'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'c'           Name
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
')'           Punctuation
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
'\n'          Text.Whitespace

'  '          Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'"'           Literal.String
'i'           Literal.String
'n'           Literal.String
' '           Literal.String
'm'           Literal.String
'y'           Literal.String
'f'           Literal.String
'u'           Literal.String
'n'           Literal.String
'c'           Literal.String
't'           Literal.String
'i'           Literal.String
'o'           Literal.String
'n'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'msg'         Name
','           Punctuation
' '           Text.Whitespace
'c'           Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'0'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'event'       Keyword.Type
' '           Text.Whitespace
'myevent'     Name.Function
'('           Punctuation
'msg'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
' '           Text.Whitespace
'&priority'   Keyword.Pseudo
'='           Operator
'1'           Literal.Number.Float
'\n'          Text.Whitespace

'  '          Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'"'           Literal.String
'i'           Literal.String
'n'           Literal.String
' '           Literal.String
'm'           Literal.String
'y'           Literal.String
'e'           Literal.String
'v'           Literal.String
'e'           Literal.String
'n'           Literal.String
't'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'hook'        Keyword.Type
' '           Text.Whitespace
'myhook'      Name.Function
'('           Punctuation
'msg'         Name
':'           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'"'           Literal.String
'i'           Literal.String
'n'           Literal.String
' '           Literal.String
'm'           Literal.String
'y'           Literal.String
'e'           Literal.String
'v'           Literal.String
'e'           Literal.String
'n'           Literal.String
't'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'event'       Keyword.Type
' '           Text.Whitespace
'zeek_init'   Name.Function
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'b'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'T'           Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
's'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'\\x'         Literal.String.Escape
'f'           Literal.String
'f'           Literal.String
'\\x'         Literal.String.Escape
'a'           Literal.String
'f'           Literal.String
'\\"'         Literal.String.Escape
'a'           Literal.String
'n'           Literal.String
'd'           Literal.String
' '           Literal.String
'm'           Literal.String
'o'           Literal.String
'r'           Literal.String
'e'           Literal.String
' '           Literal.String
'a'           Literal.String
'f'           Literal.String
't'           Literal.String
'e'           Literal.String
'r'           Literal.String
' '           Literal.String
't'           Literal.String
'h'           Literal.String
'e'           Literal.String
' '           Literal.String
'e'           Literal.String
's'           Literal.String
'c'           Literal.String
'a'           Literal.String
'p'           Literal.String
'e'           Literal.String
'd'           Literal.String
' '           Literal.String
'q'           Literal.String
'u'           Literal.String
'o'           Literal.String
't'           Literal.String
'e'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'p'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'/'           Literal.String.Regex
'f'           Literal.String.Regex
'o'           Literal.String.Regex
'o'           Literal.String.Regex
'|'           Literal.String.Regex
'b'           Literal.String.Regex
'a'           Literal.String.Regex
'r'           Literal.String.Regex
'\\x'         Literal.String.Escape
'b'           Literal.String.Regex
'e'           Literal.String.Regex
'\\/'         Literal.String.Escape
'a'           Literal.String.Regex
'n'           Literal.String.Regex
'd'           Literal.String.Regex
' '           Literal.String.Regex
'm'           Literal.String.Regex
'o'           Literal.String.Regex
'r'           Literal.String.Regex
'e'           Literal.String.Regex
' '           Literal.String.Regex
'a'           Literal.String.Regex
'f'           Literal.String.Regex
't'           Literal.String.Regex
'e'           Literal.String.Regex
'r'           Literal.String.Regex
' '           Literal.String.Regex
't'           Literal.String.Regex
'h'           Literal.String.Regex
'e'           Literal.String.Regex
' '           Literal.String.Regex
'e'           Literal.String.Regex
's'           Literal.String.Regex
'c'           Literal.String.Regex
'a'           Literal.String.Regex
'p'           Literal.String.Regex
'e'           Literal.String.Regex
'd'           Literal.String.Regex
' '           Literal.String.Regex
's'           Literal.String.Regex
'l'           Literal.String.Regex
'a'           Literal.String.Regex
's'           Literal.String.Regex
'h'           Literal.String.Regex
'/'           Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'10'          Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'sr'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'SimpleRecord' Name.Function
'('           Punctuation
'$'           Operator
'field1'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'$'           Operator
'field2'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'T'           Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'$'           Operator
'field3'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'h'           Literal.String
'i'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'sr'          Name
'?$'          Operator
'field3'      Name
','           Punctuation
' '           Text.Whitespace
'sr'          Name
'$'           Operator
'field1'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'myset'       Name
':'           Punctuation
' '           Text.Whitespace
'set'         Keyword.Type
'['           Punctuation
'string'      Keyword.Type
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'set'         Keyword.Type
'('           Punctuation
'"'           Literal.String
'o'           Literal.String
'n'           Literal.String
'e'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
't'           Literal.String
'w'           Literal.String
'o'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
't'           Literal.String
'h'           Literal.String
'r'           Literal.String
'e'           Literal.String
'e'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'add'         Keyword
' '           Text.Whitespace
'myset'       Name
'['           Punctuation
'"'           Literal.String
'f'           Literal.String
'o'           Literal.String
'u'           Literal.String
'r'           Literal.String
'"'           Literal.String
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'delete'      Keyword
' '           Text.Whitespace
'myset'       Name
'['           Punctuation
'"'           Literal.String
'o'           Literal.String
'n'           Literal.String
'e'           Literal.String
'"'           Literal.String
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'ms'          Name
' '           Text.Whitespace
'in'          Operator.Word
' '           Text.Whitespace
'myset'       Name
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'ms'          Name
' '           Text.Whitespace
'is'          Operator.Word
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
's'           Name
' '           Text.Whitespace
'as'          Operator.Word
' '           Text.Whitespace
'string'      Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
's'           Name
'['           Punctuation
'1'           Literal.Number.Float
':'           Punctuation
'3'           Literal.Number.Float
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'tern'        Name
':'           Punctuation
' '           Text.Whitespace
'count'       Keyword.Type
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
's'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
't'           Literal.String
'w'           Literal.String
'o'           Literal.String
'"'           Literal.String
' '           Text.Whitespace
'?'           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Float
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
's'           Name
' '           Text.Whitespace
'!'           Operator
'in'          Operator.Word
' '           Text.Whitespace
'myset'       Name
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'       '     Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'fmt'         Name.Function
'('           Punctuation
'"'           Literal.String
'e'           Literal.String
'r'           Literal.String
'r'           Literal.String
'o'           Literal.String
'r'           Literal.String
' '           Literal.String
'%4.2f'       Literal.String.Escape
':'           Literal.String
' '           Literal.String
'%s'          Literal.String.Escape
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'3.14159'     Literal.Number
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'w'           Literal.String
't'           Literal.String
'f'           Literal.String
'?'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'switch'      Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'1'           Literal.Number.Float
':'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'2'           Literal.Number.Float
':'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'fallthrough' Keyword
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'default'     Keyword
':'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'!'           Operator
' '           Text.Whitespace
'b'           Name
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'"'           Literal.String
'h'           Literal.String
'e'           Literal.String
'r'           Literal.String
'e'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'    '        Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'"'           Literal.String
't'           Literal.String
'h'           Literal.String
'e'           Literal.String
'r'           Literal.String
'e'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'while'       Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Float
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
'5'           Literal.Number.Float
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'c'           Name
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'else'        Keyword
' '           Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'8'           Literal.Number.Float
' '           Text.Whitespace
')'           Punctuation
'\n'          Text.Whitespace

'      '      Text.Whitespace
'c'           Name
' '           Text.Whitespace
'-'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'    '        Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'/'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'/'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'|'           Operator
'myset'       Name
'|'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'~'           Operator
'5'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1'           Literal.Number.Float
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'0xff'        Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'2'           Literal.Number.Float
' '           Text.Whitespace
'^'           Operator
' '           Text.Whitespace
'5'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'myfunction'  Name.Function
' '           Text.Whitespace
'('           Punctuation
'"'           Literal.String
'h'           Literal.String
'e'           Literal.String
'l'           Literal.String
'l'           Literal.String
'o'           Literal.String
' '           Literal.String
'f'           Literal.String
'u'           Literal.String
'n'           Literal.String
'c'           Literal.String
't'           Literal.String
'i'           Literal.String
'o'           Literal.String
'n'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'hook'        Keyword.Type
' '           Text.Whitespace
'myhook'      Name.Function
'('           Punctuation
'"'           Literal.String
'h'           Literal.String
'e'           Literal.String
'l'           Literal.String
'l'           Literal.String
' '           Literal.String
'h'           Literal.String
'o'           Literal.String
'o'           Literal.String
'k'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'event'       Keyword.Type
' '           Text.Whitespace
'myevent'     Name.Function
'('           Punctuation
'"'           Literal.String
'h'           Literal.String
'e'           Literal.String
'l'           Literal.String
'l'           Literal.String
'o'           Literal.String
' '           Literal.String
'e'           Literal.String
'v'           Literal.String
'e'           Literal.String
'n'           Literal.String
't'           Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'schedule'    Keyword
' '           Text.Whitespace
'1sec'        Literal.Number.Float
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'myevent'     Name.Function
'('           Punctuation
'"'           Literal.String
'h'           Literal.String
'e'           Literal.String
'l'           Literal.String
'l'           Literal.String
'o'           Literal.String
' '           Literal.String
's'           Literal.String
'c'           Literal.String
'h'           Literal.String
'e'           Literal.String
'd'           Literal.String
'u'           Literal.String
'l'           Literal.String
'e'           Literal.String
'd'           Literal.String
' '           Literal.String
'e'           Literal.String
'v'           Literal.String
'e'           Literal.String
'n'           Literal.String
't'           Literal.String
'"'           Literal.String
')'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'0'           Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'7'           Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'0xff'        Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0xdeadbeef'  Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'3.14159'     Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1234.0'      Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1234e0'      Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'.003E-23'    Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'.003E+23'    Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'123/udp'     Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'8000/tcp'    Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'13/icmp'     Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'42/unknown'  Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'google.com'  Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'192.168.50.1' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'255.255.255.255' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'0.0.0.0'     Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'10.0.0.0'    Literal.Number
'/'           Operator
'16'          Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:0db8:85a3:0000:0000:8a2e:0370:7334]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# test for case insensitivity' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:0DB8:85A3:0000:0000:8A2E:0370:7334]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# any case mixture is allowed' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:0dB8:85a3:0000:0000:8A2E:0370:7334]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# leading zeroes of a 16-bit group may be omitted' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:db8:85a3:0:0:8a2e:370:7334]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# a single occurrence of consecutive groups of zeroes may be replaced by ::' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:db8:85a3::8a2e:370:7334]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# all zeroes should work' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[0:0:0:0:0:0:0:0]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# all zeroes condensed should work' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[::]'        Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# hybrid ipv6-ipv4 address should work' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:db8:0:0:0:FFFF:192.168.0.5]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'# hybrid ipv6-ipv4 address with zero ommission should work' Comment
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:db8::FFFF:192.168.0.5]' Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'[2001:0db8:85a3:0000:0000:8a2e:0370:7334]' Literal.Number
'/'           Operator
'64'          Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1day'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1days'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0day'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0days'     Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1hr'         Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1hrs'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0hr'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0hrs'      Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1min'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1mins'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0min'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0mins'     Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1sec'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1secs'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0sec'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0secs'     Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1msec'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1msecs'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0msec'     Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0msecs'    Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'print'       Keyword
' '           Text.Whitespace
'1usec'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1usecs'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0usec'     Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.0usecs'    Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace
