chroma/lexers/testdata/fsharp/fsharp.expected
2025-03-22 20:46:00 +13:00

6825 lines
238 KiB
Text

[
{"type":"Comment","value":"(**\n# First-level heading\nSome more documentation using `Markdown`.\n*)"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"module"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"SampleCode.SimpleTypes"},
{"type":"Text","value":"\n\n"},
{"type":"Comment","value":"(**\nThis comments was making the whole file render as a comment.\n**)"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Compiler directives\n"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#if"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"true"},
{"type":"Text","value":"\n"},
{"type":"Operator","value":"#"},
{"type":"Keyword","value":"elif"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Text","value":"\n"},
{"type":"Operator","value":"#"},
{"type":"Name","value":"elseif"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#endif"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#light"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"on\""},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#nowarn"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#nowarn"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"9\""},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"40\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System.Text"},
{"type":"CommentSingle","value":"// check that comments are handled correctly\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System.Text"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// check that comments are handled correctly\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System.Text.RegularExpressions"},
{"type":"Comment","value":"(* check that comments are handled correctly *)"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System.Text.RegularExpressions"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(* check that comments are handled correctly *)"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"module"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n\n "},
{"type":"Comment","value":"(** **Check** that this line isn't capture for the markdown grammar **)"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Comment","value":"(**\n This is an edge case, because in early implementation this is commented the whilte file\n\n Line with indentation isn't colorized because markdown can't set up his context.\n *)"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Comment","value":"(**\nThis block is colorized becasue markdown can set up his context.\n\n# First-level heading\nThis should be parsed as `markdown`.\nThis is an edge case, because in early implementation this is parser the whole\nfile as markdown\n *)"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Comment","value":"(* Comments with nested (* (* *) *) works\n\n This line should be shown commented.\n class should not be colored\n *)"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"d"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Comment","value":"(* comment// *)"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"not a comment\""},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"/// **Description**\n///\n/// **Parameters**\n/// * `arg1` - parameter of type `string`\n/// * `arg2` - parameter of type `string`\n///\n/// **Output Type**\n/// * `string`\n///\n/// **Exceptions**\n///\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"markdownDemo"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"arg1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"arg2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"/// **Checking that markdown is really working on single line**\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"markdownDemo2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"arg1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"arg2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// **This comment isn't formatted**\n"},
{"type":"Text","value":"\n"},
{"type":"Comment","value":"(* Neither this one *)"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"exception"},
{"type":"Text","value":" "},
{"type":"Name","value":"UndefinedValueException"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Alias"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Alpha"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"LightDU"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseA"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseB"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"EgalNewLine"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseA"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseB"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Underscore_Name"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Underscore_Name"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i32"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"typeof"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"typedefof"},
{"type":"Operator","value":"\u003c_"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Accentué"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class1"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"this"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"X"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"F#\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check accessibility modifier coloring\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"R"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"X"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"U"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"X"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"getArgResults"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"removeArgResults"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"setArgResults"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check builder detection (based on a whitelist)\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"promise"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"pipeline"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"noColor"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that known builder names aren't captured as builders when a\n// value name begins with one of them (e.g. `asyncResult`)\n// Also see ionide/ionide-vscode-fsharp#836\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"d"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"asyncF"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"async"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"asyncF"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Whitespace between builder and opening brace is optional\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"async"},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FancyClass"},
{"type":"Operator","value":"("},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"var2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"``ddzdz``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extra"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"as"},
{"type":"Text","value":" "},
{"type":"Name","value":"xxx"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"pf"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"xxx"},
{"type":"Operator","value":"."},
{"type":"Name","value":"Test"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"xxx"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Test"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"F#\""},
{"type":"Text","value":"\n\n "},
{"type":"CommentSingle","value":"// A read-only property.\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"MyReadOnlyProperty"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":"\n "},
{"type":"CommentSingle","value":"// A write-only property.\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"MyWriteOnlyProperty"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Text","value":"\n "},
{"type":"CommentSingle","value":"// A read-write property.\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"MyReadWriteProperty"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":"\n "},
{"type":"OperatorWord","value":"and"},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"ReadAndWriteWithSignature"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"count"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Name","value":"count"},
{"type":"Text","value":"\n "},
{"type":"OperatorWord","value":"and"},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"value"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"MyReadWriteProperty"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"MyReadWriteProperty"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"myInternalValue"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"Update"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"FancyClass"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"default"},
{"type":"Text","value":" "},
{"type":"Name","value":"this"},
{"type":"Operator","value":"."},
{"type":"Name","value":"Update"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"var2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"``name withh spaces``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extra"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"this"},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Name","value":"Property1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"thing"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Name","value":"Property2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":"\n\n "},
{"type":"LiteralStringDoc","value":"/// The typo in withh is intentional, because with is one of the `end` possibility\n"},
{"type":"Text","value":" "},
{"type":"LiteralStringDoc","value":"/// We consider it ok, because there is a low chance that a person will use `with` in a quoted variable\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Test2"},
{"type":"Operator","value":"("},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"var2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"``name withh spaces``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extra"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c"},
{"type":"Text","value":" "},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c|\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Name","value":"v2"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"internal"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c"},
{"type":"Text","value":" "},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c\u003c.)"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"internal"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c==)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"internal"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(\u003c==)"},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"ys"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that this `get` and `set` methods are not messing the colourisation\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"get"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Name","value":"get"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"maxime\""},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"set"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Name","value":"set"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"maxime\""},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Arrow should be colored as a keyword and int as type definition\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"exec"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"buildOptions"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Name","value":"args"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// This line is to check that member_declaration isn't propagate output of declaration scopes\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"p"},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"NameNamespace","value":"Int32"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Parse"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"TestGeneric"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comments test*)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"model"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"msg"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"view"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"notify"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"as"},
{"type":"Text","value":" "},
{"type":"Name","value":"xxx"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Name","value":"``Program with spaces``"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Arg"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Model"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Msg"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"View"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"keyValuePairs"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"decoder"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"value"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"keyValuePairs"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"decoder"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"value"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"value"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tuple2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"decoder1"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T1"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"decoder2"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T2"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Decoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T2"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"run"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"program"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"run2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"program"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"Item"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"selector"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"icon"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"width"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"height"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"Name"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"NameTestComment"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*I am a comments*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"get"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"set"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"NameTestComment2"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"//option with get, set\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"Keys"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e\u003e\u003e\u003e"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"Run"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"program"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e\u003e\u003e\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"``open``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"cacheName"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"DrawElementsInstancedANGLE"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"mode"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"count"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"offset"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"primcount"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"Test2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"mode"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"test"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"abstract"},
{"type":"Text","value":" "},
{"type":"Name","value":"TupleOfTuples"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")))"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FancyClass"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Run"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"program"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Program"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"arg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"model"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"msg"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"view"},
{"type":"Operator","value":"\u003e\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FancyClass1"},
{"type":"Operator","value":"(?"},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"FancyClass2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(?"},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FancyClass3"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(?"},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"foo"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"new"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"IDisposable"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Dispose"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"do nothing\""},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bar"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"use"},
{"type":"Text","value":" "},
{"type":"Name","value":"foo"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"new"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"NameNamespace","value":"Threading"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"CancellationTokenSource"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"paramsColorWorksHereToo"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"client"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extraParam"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"endOfThisLineShouldBeCommented"},
{"type":"CommentSingle","value":"// (client : obj, extraParam) = \"\"\n"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Fixed width comments also works and coloration is still correct after it\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"endOfThisLineShouldBeCommented2"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*(client : obj, extraParam) = "},
{"type":"LiteralString","value":"\"\""},
{"type":"Comment","value":"*)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"name"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Fixed width comments also works even in tuples parameters\n// and coloration is still correct after it\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"private"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Name","value":"emitLetBinding"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"il"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*methods:MethodSymbolTable, locals:LocalsSymbolTable,*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"binding"},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"EndOfThisLineShouldBe"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"//Commented (a:int, b:int)\n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"b"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"age"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"NameRecord"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Surname"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"NestedRecord"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"NestedRecord"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"PropB"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n\n"},
{"type":"CommentSingle","value":"// Test signature coloration\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"primitive"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleOfPrimitives"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleOfPrimitives"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleOfTuples"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleOfTuples"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleOfTuples"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"listOfTuples"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"("},
{"type":"Name","value":"files"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"("},
{"type":"Name","value":"files2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")))"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"generics"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"Ok"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleWithGenerics"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"Ok"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleWithAListOfGenerics"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"p1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"p2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleWithAListOfGenerics"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleWithAListOrArrayOfGenerics2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"Map"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"[||]"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Really complexe nested generic type\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tupleWithGenerics2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"Ok"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"lambda"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e,"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"array"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"ignore"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"isLoadingTime"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"isLoadingTime"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"c"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"method"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"prefix"},
{"type":"Text","value":" "},
{"type":"Name","value":"chunck"},
{"type":"Text","value":" "},
{"type":"Name","value":"dzd"},
{"type":"Text","value":" "},
{"type":"Name","value":"zd"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"promise"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let!"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"dzdz"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"v"},
{"type":"Text","value":" "},
{"type":"Name","value":"``var with spaces``"},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"printFullName"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"firstname"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Surname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"surname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\" \""},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"surname"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"printFirstName"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"firstname"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"printFirstName"},
{"type":"Text","value":" "},
{"type":"Operator","value":"({"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"``var with spaces``"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"NameRecord"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"``var with spaces``"},
{"type":"Text","value":"\n\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Name","value":"``test multiple backticks``"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"row"},
{"type":"Operator","value":"."},
{"type":"Name","value":"``maxime``"},
{"type":"Operator","value":"."},
{"type":"Name","value":"Trim"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"row"},
{"type":"Operator","value":"."},
{"type":"Name","value":"``Last Update``"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Test multiple backticks on the same line\n"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nestedRecords"},
{"type":"Text","value":" "},
{"type":"Operator","value":"({"},
{"type":"Text","value":" "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Text","value":" "},
{"type":"Operator","value":"};"},
{"type":"Text","value":" "},
{"type":"Name","value":"PropB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"};"},
{"type":"Text","value":" "},
{"type":"Name","value":"PropB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"propB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"NestedRecord"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"value"},
{"type":"Operator","value":"."},
{"type":"Name","value":"PropB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\" \""},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"propB"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"variable"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"value\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that style is apply even when declaration is on multiple lines\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"func"},
{"type":"Text","value":" "},
{"type":"Name","value":"arg1"},
{"type":"Text","value":" "},
{"type":"Name","value":"arg2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"func"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"arg1"},
{"type":"Text","value":" "},
{"type":"Name","value":"arg2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"func"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"arg1"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"arg2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that option is also colored as part of the type definition\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"debounce"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"debounce"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check output type coloration\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"timeoutID"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Operator","value":"."},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test2"},
{"type":"Text","value":" "},
{"type":"Name","value":"test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"timeoutID"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"float"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"None"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"module"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"module"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"accentué"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"test"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MutableMembersTest"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"test"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Test that variable named like: keyword' isn't colored in a match statement\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match'"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match'"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseA"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test2"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"return'"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"return'"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseA"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseB"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"RequestData"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Params"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Client"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"this"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Request"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"req"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"RequestData"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"res"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"client"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extraParam"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"client"},
{"type":"Operator","value":"."},
{"type":"Name","value":"Request"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Params"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"Measure"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"kg"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"forLoop"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"["},
{"type":"Text","value":" "},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"Name","value":"index"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"to"},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"do"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"yield"},
{"type":"Text","value":" "},
{"type":"Name","value":"index"},
{"type":"Text","value":" "},
{"type":"Operator","value":"]"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"TestDUTypeColoration"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseA"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseB"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseC"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseD"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"age"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseE"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"client"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseF"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"client"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"port"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseG"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseH"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n "},
{"type":"CommentSingle","value":"// Check multiple declaration on one line\n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseI"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseJ"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseF2"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"client"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// * string * port : int\n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"FetchDomainsSuccess"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseK"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"``var with spaces``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseL"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"``var with spaces``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseM"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"v1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"CaseN"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"TestRecordColoration"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Lastname"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":"\n "},
{"type":"LiteralStringDoc","value":"/// Test docs comments works with `markdown`\n"},
{"type":"Text","value":" "},
{"type":"Name","value":"Age"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify3"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify4"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Callback"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Comments tests\n"},
{"type":"Text","value":" "},
{"type":"Name","value":"TypeWithSpace"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(("},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"RequestData"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Client"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"Mutable"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"testRecordColoration"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Firstname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"string\""},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Comments should work here\n"},
{"type":"Text","value":" "},
{"type":"Name","value":"Lastname"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"string\""},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Age"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"10"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Name","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Notify4"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Callback"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*b) comments should works here too*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"b"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"unbox"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"TypeWithSpace"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Nested"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Name","value":"func"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"unbox"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Mutable"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"CheckSingleLineRecord"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Param1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":" "},
{"type":"Name","value":"Param2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that compression expression aren't mess up by the record coloration\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"async"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let!"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"async"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Test case for: https://github.com/ionide/ionide-fsgrammar/issues/147\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"testVariableWithModuleKeyword"},
{"type":"Text","value":" "},
{"type":"Name","value":"test_module"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"Name","value":"test_module"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"then"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// This is the line where the problem is\n"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Edge cases provided by @selketjah\n// In this code some of the `type` word where colored in purple\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Example"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Type"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"SType"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Stype"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"STypeT"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"StypeT"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// comments tests\n"},
{"type":"Text","value":" "},
{"type":"Name","value":"TypeS"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Comment","value":"(*comment tests*)"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"typeTest"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"stype"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"stypes"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"s_type"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Edge cases provided by @selketjah\n// `type` was colored as keyword\n// `with` as a Type declaration\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"temp"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Example"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"Name","value":"s"},
{"type":"Operator","value":"."},
{"type":"Name","value":"stype"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"whatever\""},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Edge case when there is something after } the next type is not colored\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"One"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Id"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// test\n"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Two"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Id"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Support for anonymous records\n"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Employee"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Engineer"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":"\u003e\u003e;"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"List"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Manager"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"of"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"List"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"standardIntInput"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"props"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Dispatch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":"\u003e\u003e"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Disabled"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"List"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Errors"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"Msg"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|})"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"props"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Dispatch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":"\u003e\u003e"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Disabled"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"List"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Errors"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"Msg"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|})"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"AR_Class"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"this"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Method1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"props"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Dispatch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Operator","value":"\u003e\u003e"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Disabled"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"Prop2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"List"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|}"},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Errors"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"Msg"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|})"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check anonymous function type signature\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tx"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"t"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"``type with spaces``"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"``var with spaces``"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"mixedArray"},
{"type":"Text","value":" "},
{"type":"Name","value":"msg"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"decoders"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"path"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"values"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"Ok"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"[]"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Auto"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"color"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"message"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"color"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"Result"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"CommentSingle","value":"// Here `\u003c`\u0026 `\u003e` not in purple\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenerateDecoder"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(?"},
{"type":"Name","value":"isCamelCase"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Name","value":"GenType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"CommentSingle","value":"// Here generics not colored\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"FromString"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"\u003e("},
{"type":"Name","value":"json"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"?"},
{"type":"Name","value":"isCamelCase"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Example1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"["},
{"type":"Text","value":" "},
{"type":"Name","value":"1"},
{"type":"Operator","value":";"},
{"type":"Name","value":"2"},
{"type":"Operator","value":";"},
{"type":"Name","value":"3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// test.test shouldn't be colored\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"temp"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"test"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"::"},
{"type":"Text","value":" "},
{"type":"Name","value":"test"},
{"type":"Operator","value":"."},
{"type":"Name","value":"Test"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"EitherBuilder"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Bind"},
{"type":"Operator","value":"("},
{"type":"Name","value":"x"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"__"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"Return"},
{"type":"Operator","value":"("},
{"type":"Name","value":"x"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"either"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"EitherBuilder"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"test"},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"CommentSingle","value":"// Ensure coloration is working correctly in custom computation expressions\n"},
{"type":"Text","value":" "},
{"type":"Name","value":"either"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let!"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"open"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"Name","value":"msg"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"inherit"},
{"type":"Text","value":" "},
{"type":"Name","value":"Attribute"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"AllowNullLiteral"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":" "},
{"type":"Name","value":"AppState2"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"AllowNullLiteral"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":" "},
{"type":"Name","value":"AppState"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"b"},
{"type":"Operator","value":"\u003e"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"run"},
{"type":"Text","value":" "},
{"type":"Operator","value":"([\u003c"},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":");"},
{"type":"Text","value":" "},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":")\u003e]"},
{"type":"Text","value":" "},
{"type":"Name","value":"content"},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":")\u003e]"},
{"type":"Text","value":" "},
{"type":"Name","value":"TestInlineAttributeGenerics"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"b"},
{"type":"Operator","value":"\u003e("},
{"type":"Name","value":"content"},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":")\u003e]"},
{"type":"Text","value":" "},
{"type":"Name","value":"TestInlineAttribute"},
{"type":"Operator","value":"("},
{"type":"Name","value":"content"},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":");"},
{"type":"Text","value":" "},
{"type":"Name","value":"QueueTrigger"},
{"type":"Operator","value":"("},
{"type":"LiteralString","value":"\"something\""},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Operator","value":")\u003e]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"TestAttribue2"},
{"type":"Operator","value":"("},
{"type":"Name","value":"content"},
{"type":"Operator","value":":"},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// // Make sure coloration support SRTP synthax\n// // The next code has been copied from\n// // https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/generics/statically-resolved-type-parameters\n"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"konst"},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"CFunctor"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"fmap"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"List"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"map"},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"fmap"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Name","value":"option"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"None"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"None"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Name","value":"Some"},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"Some"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"f"},
{"type":"Text","value":" "},
{"type":"Name","value":"x"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n\n "},
{"type":"CommentSingle","value":"// default implementation of replace\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"e"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"CFunctor"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"and"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"fmap"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"e"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"((^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"fmap"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"e"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"konst"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":"))"},
{"type":"Text","value":"\n\n "},
{"type":"CommentSingle","value":"// call overridden replace if present\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":")\u003e("},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":"))"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace_instance"},
{"type":"Operator","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Operator","value":")\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"((^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"d"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":"))"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Note the concrete type 'CFunctor' specified in the signature\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a0"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"CFunctor"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Operator","value":"):"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"replace"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"a0"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"replace_instance"},
{"type":"Operator","value":"\u003c"},
{"type":"Name","value":"CFunctor"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"_,"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_,"},
{"type":"Text","value":" "},
{"type":"Operator","value":"_\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"f"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// End of SRTP synthax\n"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// Make sure constraints are correctly colored\n// https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/generics/constraints\n"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// Base Type Constraint\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class1"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":\u003e"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Exception"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Interface Type Constraint\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class2"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":\u003e"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"IComparable"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Null constraint\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class3"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"null"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Member constraint with static member\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class4"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"staticMethod1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Member constraint with instance member\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class5"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"Method1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Member constraint with property\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class6"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"Property1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Operator","value":")\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Constructor constraint\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class7"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"new"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":")\u003e("},
{"type":"Name","value":"thing"},
{"type":"Operator","value":":"},
{"type":"Name","value":"int"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"var2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"``ddzdz``"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"string"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"list"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"extra"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"as"},
{"type":"Text","value":" "},
{"type":"Name","value":"xxx"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Name","value":"Field"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"new"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Reference type constraint\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class8"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"not"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"struct"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Enumeration constraint with underlying value specified\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class9"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"enum"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"uint32"},
{"type":"Operator","value":"\u003e\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// 'T must implement IComparable, or be an array type with comparable\n// elements, or be System.IntPtr or System.UIntPtr. Also, 'T must not have\n// the NoComparison attribute.\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class10"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"comparison"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// 'T must support equality. This is true for any type that does not\n// have the NoEquality attribute.\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class11"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"equality"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class12"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"delegate"},
{"type":"Operator","value":"\u003c"},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"EventArgs"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Operator","value":"\u003e\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class13"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"unmanaged"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Member constraints with two type parameters\n// Most often used with static type parameters in inline functions\n"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// Test that we are correctly detecting the end of the STRP syntahx when there is only one argument\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"doNothing"},
{"type":"Operator","value":"(_"},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"doNothing"},
{"type":"Operator","value":"(_"},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Name","value":"toJson"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Operator","value":"))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"add2"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"))"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"add"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"),"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// ^T and ^U must support operator +\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"heterogenousAdd"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"),"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"heterogenousAdd"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"Word"},
{"type":"Operator","value":"),"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// If there are multiple constraints, use the and keyword to separate them.\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class14"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":","},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"U"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"equality"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"and"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"U"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"equality"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class15"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"``generic type with space``"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"``generic type with space``"},
{"type":"Text","value":" "},
{"type":"Operator","value":":\u003e"},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"System"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Exception"},
{"type":"Operator","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Type constrainst coloration also works in the constructor\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Class16"},
{"type":"Operator","value":"("},
{"type":"Name","value":"value1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"or"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"member"},
{"type":"Text","value":" "},
{"type":"Operator","value":"(+)"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"),"},
{"type":"Text","value":" "},
{"type":"Name","value":"value2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"U"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"class"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"end"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Make sure that `:\u003e` isn't closing the current generic tag\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"inline"},
{"type":"Text","value":" "},
{"type":"Name","value":"create"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"when"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":\u003e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"obj"},
{"type":"Text","value":" "},
{"type":"OperatorWord","value":"and"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"new"},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"unit"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"a"},
{"type":"Operator","value":")\u003e"},
{"type":"Text","value":" "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"failwith"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"\"\""},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Explicit Fields\n// Adapted from: https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/members/explicit-fields-the-val-keyword\n// And : https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/members/let-bindings-in-classes\n"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyType"},
{"type":"Operator","value":"\u003c"},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"``Generic type with spaces``"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Operator","value":"\u003e"},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"myInt1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"10"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"myInt3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"3"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"DefaultValue"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"static"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"private"},
{"type":"Text","value":" "},
{"type":"Name","value":"myInt2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"DefaultValue"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"myString"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"``Generic type with spaces``"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"[\u003c"},
{"type":"Name","value":"DefaultValue"},
{"type":"Operator","value":"\u003e]"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"mutable"},
{"type":"Text","value":" "},
{"type":"Name","value":"myString2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"'"},
{"type":"Name","value":"T"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyClass"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"val"},
{"type":"Text","value":" "},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":"},
{"type":"Text","value":" "},
{"type":"Name","value":"int"},
{"type":"Text","value":"\n "},
{"type":"CommentSingle","value":"// The following version of the constructor is an error\n"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// because b is not initialized.\n"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// new (a0, b0) = { a = a0; }\n"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// The following version is acceptable because all fields are initialized.\n"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"new"},
{"type":"Operator","value":"("},
{"type":"Name","value":"a0"},
{"type":"Operator","value":","},
{"type":"Text","value":" "},
{"type":"Name","value":"b0"},
{"type":"Operator","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"a0"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Name","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"b0"},
{"type":"Operator","value":";"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Check that SRTP do not break standard syntax between `(` \u0026 `)`\n"},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"incorrect"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"("},
{"type":"Keyword","value":"fun"},
{"type":"Text","value":" "},
{"type":"Name","value":"loadedModel"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"temp"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Name","value":"async"},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Name","value":"0"},
{"type":"Text","value":"\n "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n "},
{"type":"Keyword","value":"let"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"loadedModel"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"{"},
{"type":"Text","value":" "},
{"type":"Name","value":"loadedModel"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"with"},
{"type":"Text","value":" "},
{"type":"Name","value":"FormState"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameNamespace","value":"Form"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"setWaiting"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"false"},
{"type":"Text","value":" "},
{"type":"Name","value":"loadedModel"},
{"type":"Operator","value":"."},
{"type":"Name","value":"FormState"},
{"type":"Text","value":" "},
{"type":"Operator","value":"}"},
{"type":"Text","value":"\n "},
{"type":"NameBuiltinPseudo","value":"()"},
{"type":"Operator","value":")"},
{"type":"Text","value":"\n"}
]