'# This is a TOML document comment' Comment.Single
'\n'          Text

'\n'          Text

'title'       Name
' '           Text
'='           Operator
' '           Text
'"TOML example file"' Literal.String
' '           Text
'# This is an inline comment' Comment.Single
'\n'          Text

'\n'          Text

'[examples]'  Keyword
'\n'          Text

'# Examples taken from https://github.com/toml-lang/toml/blob/master/README.md' Comment.Single
'\n'          Text

'key'         Name
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'bare_key'    Name
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'bare-key'    Name
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'1234'        Literal.Number.Integer
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'"127.0.0.1"' Literal.String
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'"character encoding"' Literal.String
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'"ʎǝʞ"'       Literal.String
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

"'key2'"      Literal.String
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'\'quoted "value"\'' Literal.String
' '           Text
'='           Operator
' '           Text
'"value"'     Literal.String
'\n'          Text

'name'        Name
' '           Text
'='           Operator
' '           Text
'"Orange"'    Literal.String
'\n'          Text

'physical'    Name
'.'           Punctuation
'color'       Name
' '           Text
'='           Operator
' '           Text
'"orange"'    Literal.String
'\n'          Text

'physical'    Name
'.'           Punctuation
'shape'       Name
' '           Text
'='           Operator
' '           Text
'"round"'     Literal.String
'\n'          Text

'site'        Name
'.'           Punctuation
'"google.com"' Literal.String
' '           Text
'='           Operator
' '           Text
'true'        Keyword.Constant
'\n'          Text

'a'           Name
'.'           Punctuation
'b'           Name
'.'           Punctuation
'c'           Name
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
'\n'          Text

'a'           Name
'.'           Punctuation
'd'           Name
' '           Text
'='           Operator
' '           Text
'2'           Literal.Number.Integer
'\n'          Text

'\n'          Text

'[strings]'   Keyword
'\n'          Text

'str'         Name
' '           Text
'='           Operator
' '           Text
'"I\'m a string. \\"You can quote me\\". Name\\tJos\\u00E9\\nLocation\\tSF."' Literal.String
'\n'          Text

'str1'        Name
' '           Text
'='           Operator
' '           Text
'""'          Literal.String
'"\nRoses are red\nViolets are blue"' Literal.String
'""'          Literal.String
'\n'          Text

'str2'        Name
' '           Text
'='           Operator
' '           Text
'"Roses are red\\nViolets are blue"' Literal.String
'\n'          Text

'str3'        Name
' '           Text
'='           Operator
' '           Text
'"Roses are red\\r\\nViolets are blue"' Literal.String
'\n'          Text

'\n  '        Text
'[strings.equivalents]' Keyword
'\n'          Text

'  '          Text
'str1'        Name
' '           Text
'='           Operator
' '           Text
'"The quick brown fox jumps over the lazy dog."' Literal.String
'\n'          Text

'  '          Text
'str2'        Name
' '           Text
'='           Operator
' '           Text
'""'          Literal.String
'"\nThe quick brown \\\n\n\n    fox jumps over \\\n      the lazy dog."' Literal.String
'""'          Literal.String
'\n'          Text

'  '          Text
'str3'        Name
' '           Text
'='           Operator
' '           Text
'""'          Literal.String
'"\\\n         The quick brown \\\n         fox jumps over \\\n         the lazy dog.\\\n         "' Literal.String
'""'          Literal.String
'\n'          Text

'\n  '        Text
'[strings.literal]' Keyword
'\n'          Text

'  '          Text
'winpath'     Name
'  '          Text
'='           Operator
' '           Text
"'C:\\Users\\nodejs\\templates'" Literal.String
'\n'          Text

'  '          Text
'winpath2'    Name
' '           Text
'='           Operator
' '           Text
"'\\\\ServerX\\admin$\\system32\\'" Literal.String
'\n'          Text

'  '          Text
'quoted'      Name
'   '         Text
'='           Operator
' '           Text
'\'Tom "Dubs" Preston-Werner\'' Literal.String
'\n'          Text

'  '          Text
'regex'       Name
'    '        Text
'='           Operator
' '           Text
"'<\\i\\c*\\s*>'" Literal.String
'\n'          Text

'\n  '        Text
'[strings.multiline]' Keyword
'\n'          Text

'  '          Text
'regex2'      Name
' '           Text
'='           Operator
' '           Text
"'''I [dw]on't need \\d{2} apples'''" Literal.String
'\n'          Text

'  '          Text
'lines'       Name
'  '          Text
'='           Operator
' '           Text
"''"          Literal.String
"'\nThe first newline is\ntrimmed in raw strings.\n   All other whitespace\n   is preserved.\n'" Literal.String
"''"          Literal.String
'\n'          Text

'\n'          Text

'[integers]'  Keyword
'\n'          Text

'int1'        Name
' '           Text
'='           Operator
' '           Text
'+99'         Literal.Number.Integer
'\n'          Text

'int2'        Name
' '           Text
'='           Operator
' '           Text
'42'          Literal.Number.Integer
'\n'          Text

'int3'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'\n'          Text

'int4'        Name
' '           Text
'='           Operator
' '           Text
'-17'         Literal.Number.Integer
'\n'          Text

'int5'        Name
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
'_000'        Name
'\n'          Text

'int6'        Name
' '           Text
'='           Operator
' '           Text
'5'           Literal.Number.Integer
'_349_221'    Name
'\n'          Text

'int7'        Name
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
'_2_3_4_5'    Name
' '           Text
'# discouraged format' Comment.Single
'\n'          Text

'# hexadecimal with prefix `0x`' Comment.Single
'\n'          Text

'hex1'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'xDEADBEEF'   Name
'\n'          Text

'hex2'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'xdeadbeef'   Name
'\n'          Text

'hex3'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'xdead_beef'  Name
'\n'          Text

'# octal with prefix `0o`' Comment.Single
'\n'          Text

'oct1'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'o01234567'   Name
'\n'          Text

'oct2'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'o755'        Name
' '           Text
'# useful for Unix file permissions' Comment.Single
'\n'          Text

'# binary with prefix `0b`' Comment.Single
'\n'          Text

'bin1'        Name
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
'b11010110'   Name
'\n'          Text

'\n'          Text

'[floats]'    Keyword
'\n'          Text

'# fractional' Comment.Single
'\n'          Text

'flt1'        Name
' '           Text
'='           Operator
' '           Text
'+1'          Literal.Number.Integer
'.0'          Literal.Number.Float
'\n'          Text

'flt2'        Name
' '           Text
'='           Operator
' '           Text
'3.1415'      Literal.Number.Float
'\n'          Text

'flt3'        Name
' '           Text
'='           Operator
' '           Text
'-0'          Literal.Number.Integer
'.01'         Literal.Number.Float
'\n'          Text

'# exponent'  Comment.Single
'\n'          Text

'flt4'        Name
' '           Text
'='           Operator
' '           Text
'5e+22'       Literal.Number.Float
'\n'          Text

'flt5'        Name
' '           Text
'='           Operator
' '           Text
'1e6'         Literal.Number.Float
'\n'          Text

'flt6'        Name
' '           Text
'='           Operator
' '           Text
'-2'          Literal.Number.Integer
'E-2'         Name
'\n'          Text

'# both'      Comment.Single
'\n'          Text

'flt7'        Name
' '           Text
'='           Operator
' '           Text
'6.626e-34'   Literal.Number.Float
'\n'          Text

'# with underscores, for readability' Comment.Single
'\n'          Text

'flt8'        Name
' '           Text
'='           Operator
' '           Text
'224'         Literal.Number.Integer
'_617'        Name
'.445'        Literal.Number.Float
'_991_228'    Name
'\n'          Text

'# infinity'  Comment.Single
'\n'          Text

'sf1'         Name
' '           Text
'='           Operator
' '           Text
'inf'         Name
'  '          Text
'# positive infinity' Comment.Single
'\n'          Text

'sf2'         Name
' '           Text
'='           Operator
' '           Text
'+inf'        Literal.Number.Float
' '           Text
'# positive infinity' Comment.Single
'\n'          Text

'sf3'         Name
' '           Text
'='           Operator
' '           Text
'-inf'        Literal.Number.Float
' '           Text
'# negative infinity' Comment.Single
'\n'          Text

'# not a number' Comment.Single
'\n'          Text

'sf4'         Name
' '           Text
'='           Operator
' '           Text
'nan'         Name
'  '          Text
'# actual sNaN/qNaN encoding is implementation specific' Comment.Single
'\n'          Text

'sf5'         Name
' '           Text
'='           Operator
' '           Text
'+nan'        Literal.Number.Float
' '           Text
'# same as `nan`' Comment.Single
'\n'          Text

'sf6'         Name
' '           Text
'='           Operator
' '           Text
'-nan'        Literal.Number.Float
' '           Text
'# valid, actual encoding is implementation specific' Comment.Single
'\n'          Text

'# plus/minus zero' Comment.Single
'\n'          Text

'sf0_1'       Name
' '           Text
'='           Operator
' '           Text
'+0'          Literal.Number.Integer
'.0'          Literal.Number.Float
'\n'          Text

'sf0_2'       Name
' '           Text
'='           Operator
' '           Text
'-0'          Literal.Number.Integer
'.0'          Literal.Number.Float
'\n'          Text

'\n'          Text

'[booleans]'  Keyword
'\n'          Text

'bool1'       Name
' '           Text
'='           Operator
' '           Text
'true'        Keyword.Constant
'\n'          Text

'bool2'       Name
' '           Text
'='           Operator
' '           Text
'false'       Keyword.Constant
'\n'          Text

'\n'          Text

'[datetime.offset]' Keyword
'\n'          Text

'odt1'        Name
' '           Text
'='           Operator
' '           Text
'1979-05-27T07:32:00Z' Literal.Number.Integer
'\n'          Text

'odt2'        Name
' '           Text
'='           Operator
' '           Text
'1979-05-27T00:32:00-07:00' Literal.Number.Integer
'\n'          Text

'odt3'        Name
' '           Text
'='           Operator
' '           Text
'1979'        Literal.Number.Integer
'-05'         Literal.Number.Integer
'-27'         Literal.Number.Integer
'T00'         Name
':'           Punctuation
'32'          Literal.Number.Integer
':'           Punctuation
'00.999999'   Literal.Number.Float
'-07'         Literal.Number.Integer
':'           Punctuation
'00'          Literal.Number.Integer
'\n'          Text

'odt4'        Name
' '           Text
'='           Operator
' '           Text
'1979-05-27 07:32:00Z' Literal.Number.Integer
'\n'          Text

'\n'          Text

'[datetime.local]' Keyword
'\n'          Text

'ldt1'        Name
' '           Text
'='           Operator
' '           Text
'1979'        Literal.Number.Integer
'-05'         Literal.Number.Integer
'-27'         Literal.Number.Integer
'T07'         Name
':'           Punctuation
'32'          Literal.Number.Integer
':'           Punctuation
'00'          Literal.Number.Integer
'\n'          Text

'ldt2'        Name
' '           Text
'='           Operator
' '           Text
'1979'        Literal.Number.Integer
'-05'         Literal.Number.Integer
'-27'         Literal.Number.Integer
'T00'         Name
':'           Punctuation
'32'          Literal.Number.Integer
':'           Punctuation
'00.999999'   Literal.Number.Float
'\n'          Text

'\n'          Text

'[date.local]' Keyword
'\n'          Text

'ld1'         Name
' '           Text
'='           Operator
' '           Text
'1979'        Literal.Number.Integer
'-05'         Literal.Number.Integer
'-27'         Literal.Number.Integer
'\n'          Text

'\n'          Text

'[time.local]' Keyword
'\n'          Text

'lt1'         Name
' '           Text
'='           Operator
' '           Text
'07'          Literal.Number.Integer
':'           Punctuation
'32'          Literal.Number.Integer
':'           Punctuation
'00'          Literal.Number.Integer
'\n'          Text

'lt2'         Name
' '           Text
'='           Operator
' '           Text
'00'          Literal.Number.Integer
':'           Punctuation
'32'          Literal.Number.Integer
':'           Punctuation
'00.999999'   Literal.Number.Float
'\n'          Text

'\n'          Text

'[arrays]'    Keyword
'\n'          Text

'arr1'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'3'           Literal.Number.Integer
' '           Text
']'           Punctuation
'\n'          Text

'arr2'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'"red"'       Literal.String
','           Punctuation
' '           Text
'"yellow"'    Literal.String
','           Punctuation
' '           Text
'"green"'     Literal.String
' '           Text
']'           Punctuation
'\n'          Text

'arr3'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'['           Punctuation
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
']'           Punctuation
','           Punctuation
' '           Text
'['           Punctuation
'3'           Literal.Number.Integer
','           Punctuation
' '           Text
'4'           Literal.Number.Integer
','           Punctuation
' '           Text
'5'           Literal.Number.Integer
']'           Punctuation
' '           Text
']'           Punctuation
'\n'          Text

'arr4'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'"all"'       Literal.String
','           Punctuation
' '           Text
"'strings'"   Literal.String
','           Punctuation
' '           Text
'""'          Literal.String
'"are the same"' Literal.String
'""'          Literal.String
','           Punctuation
' '           Text
"'''type'''"  Literal.String
']'           Punctuation
'\n'          Text

'arr5'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'['           Punctuation
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
']'           Punctuation
','           Punctuation
' '           Text
'['           Punctuation
'"a"'         Literal.String
','           Punctuation
' '           Text
'"b"'         Literal.String
','           Punctuation
' '           Text
'"c"'         Literal.String
']'           Punctuation
' '           Text
']'           Punctuation
'\n'          Text

'arr6'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2.0'         Literal.Number.Float
' '           Text
']'           Punctuation
' '           Text
'# INVALID'   Comment.Single
'\n'          Text

'arr7'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'\n'          Text

'  '          Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'3'           Literal.Number.Integer
'\n'          Text

']'           Punctuation
'\n'          Text

'arr8'        Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
'\n'          Text

'  '          Text
'1'           Literal.Number.Integer
','           Punctuation
'\n'          Text

'  '          Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'# this is ok' Comment.Single
'\n'          Text

']'           Punctuation
'\n'          Text

'\n'          Text

'["inline tables"]' Keyword
'\n'          Text

'name'        Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
' '           Text
'first'       Name
' '           Text
'='           Operator
' '           Text
'"Tom"'       Literal.String
','           Punctuation
' '           Text
'last'        Name
' '           Text
'='           Operator
' '           Text
'"Preston-Werner"' Literal.String
' '           Text
'}'           Punctuation
'\n'          Text

'point'       Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
' '           Text
'x'           Name
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'y'           Name
' '           Text
'='           Operator
' '           Text
'2'           Literal.Number.Integer
' '           Text
'}'           Punctuation
'\n'          Text

'animal'      Name
' '           Text
'='           Operator
' '           Text
'{'           Punctuation
' '           Text
'type'        Name
'.'           Punctuation
'name'        Name
' '           Text
'='           Operator
' '           Text
'"pug"'       Literal.String
' '           Text
'}'           Punctuation
'\n'          Text

'\n'          Text

'["arrays of tables"]' Keyword
'\n'          Text

'points'      Name
' '           Text
'='           Operator
' '           Text
'['           Punctuation
' '           Text
'{'           Punctuation
' '           Text
'x'           Name
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'y'           Name
' '           Text
'='           Operator
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'z'           Name
' '           Text
'='           Operator
' '           Text
'3'           Literal.Number.Integer
' '           Text
'}'           Punctuation
','           Punctuation
'\n'          Text

'           ' Text
'{'           Punctuation
' '           Text
'x'           Name
' '           Text
'='           Operator
' '           Text
'7'           Literal.Number.Integer
','           Punctuation
' '           Text
'y'           Name
' '           Text
'='           Operator
' '           Text
'8'           Literal.Number.Integer
','           Punctuation
' '           Text
'z'           Name
' '           Text
'='           Operator
' '           Text
'9'           Literal.Number.Integer
' '           Text
'}'           Punctuation
','           Punctuation
'\n'          Text

'           ' Text
'{'           Punctuation
' '           Text
'x'           Name
' '           Text
'='           Operator
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'y'           Name
' '           Text
'='           Operator
' '           Text
'4'           Literal.Number.Integer
','           Punctuation
' '           Text
'z'           Name
' '           Text
'='           Operator
' '           Text
'8'           Literal.Number.Integer
' '           Text
'}'           Punctuation
' '           Text
']'           Punctuation
'\n'          Text

'\n  '        Text
'[products]'  Keyword
'\n'          Text

'\n    '      Text
'[[products]]' Keyword
'\n'          Text

'    '        Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"Hammer"'    Literal.String
'\n'          Text

'    '        Text
'sku'         Name
' '           Text
'='           Operator
' '           Text
'738594937'   Literal.Number.Integer
'\n'          Text

'\n    '      Text
'[[products]]' Keyword
'\n'          Text

'\n    '      Text
'[[products]]' Keyword
'\n'          Text

'    '        Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"Nail"'      Literal.String
'\n'          Text

'    '        Text
'sku'         Name
' '           Text
'='           Operator
' '           Text
'284758393'   Literal.Number.Integer
'\n'          Text

'    '        Text
'color'       Name
' '           Text
'='           Operator
' '           Text
'"gray"'      Literal.String
'\n'          Text

'\n  '        Text
'[fruits]'    Keyword
'\n'          Text

'\n    '      Text
'[[fruit]]'   Keyword
'\n'          Text

'      '      Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"apple"'     Literal.String
'\n'          Text

'\n      '    Text
'[fruit.physical]' Keyword
'\n'          Text

'        '    Text
'color'       Name
' '           Text
'='           Operator
' '           Text
'"red"'       Literal.String
'\n'          Text

'        '    Text
'shape'       Name
' '           Text
'='           Operator
' '           Text
'"round"'     Literal.String
'\n'          Text

'\n      '    Text
'[[fruit.variety]]' Keyword
'\n'          Text

'        '    Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"red delicious"' Literal.String
'\n'          Text

'\n      '    Text
'[[fruit.variety]]' Keyword
'\n'          Text

'        '    Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"granny smith"' Literal.String
'\n'          Text

'\n    '      Text
'[[fruit]]'   Keyword
'\n'          Text

'      '      Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"banana"'    Literal.String
'\n'          Text

'\n      '    Text
'[[fruit.variety]]' Keyword
'\n'          Text

'        '    Text
'name'        Name
' '           Text
'='           Operator
' '           Text
'"plantain"'  Literal.String
'\n'          Text
