---input--- double foo = 8.0 custom double foo = 8.0 uniform double foo = 8.0 custom uniform double foo = 8.0 custom double foo_underscore_name = 8.0 double[] foo_underscore_name = [10.1, 12.0, 13] double[] primvar:foo_thing = [10.1, 12.0, 13] custom int[] foo = [8, 10, 14] custom int[] foo.timeSamples = { 1: [8, 0, 14], 2: [-8, 0, 14], } ---tokens--- 'double' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8.0' Literal.Number '\n\n' Text.Whitespace 'custom' Keyword.Token ' ' Text.Whitespace 'double' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8.0' Literal.Number '\n\n' Text.Whitespace 'uniform' Keyword.Token ' ' Text.Whitespace 'double' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8.0' Literal.Number '\n\n' Text.Whitespace 'custom' Keyword.Token ' ' Text.Whitespace 'uniform' Keyword.Token ' ' Text.Whitespace 'double' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8.0' Literal.Number '\n\n' Text.Whitespace 'custom' Keyword.Token ' ' Text.Whitespace 'double' Keyword.Type ' ' Text.Whitespace 'foo_underscore_name' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '8.0' Literal.Number '\n\n' Text.Whitespace 'double[]' Keyword.Type ' ' Text.Whitespace 'foo_underscore_name' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation '10.1' Literal.Number ',' Punctuation ' ' Text.Whitespace '12.0' Literal.Number ',' Punctuation ' ' Text.Whitespace '13' Literal.Number ']' Punctuation '\n\n' Text.Whitespace 'double[]' Keyword.Type ' ' Text.Whitespace 'primvar:foo_thing' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation '10.1' Literal.Number ',' Punctuation ' ' Text.Whitespace '12.0' Literal.Number ',' Punctuation ' ' Text.Whitespace '13' Literal.Number ']' Punctuation '\n\n' Text.Whitespace 'custom' Keyword.Token ' ' Text.Whitespace 'int[]' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '[' Punctuation '8' Literal.Number ',' Punctuation ' ' Text.Whitespace '10' Literal.Number ',' Punctuation ' ' Text.Whitespace '14' Literal.Number ']' Punctuation '\n\n' Text.Whitespace 'custom' Keyword.Token ' ' Text.Whitespace 'int[]' Keyword.Type ' ' Text.Whitespace 'foo' Name.Attribute '.' Text 'timeSamples' Name.Keyword.Tokens ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '{' Punctuation '\n ' Text.Whitespace '1' Literal.Number ':' Punctuation ' ' Text.Whitespace '[' Punctuation '8' Literal.Number ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '14' Literal.Number ']' Punctuation ',' Punctuation '\n ' Text.Whitespace '2' Literal.Number ':' Punctuation ' ' Text.Whitespace '[' Punctuation '-8' Literal.Number ',' Punctuation ' ' Text.Whitespace '0' Literal.Number ',' Punctuation ' ' Text.Whitespace '14' Literal.Number ']' Punctuation ',' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace