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

445 lines
17 KiB
Text

[
{"type":"KeywordNamespace","value":"package"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"main"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralString","value":"\"core:fmt\""},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"CommentMultiline","value":"/*\nsome comments in odin can\n /* be nested! */\nand it should still work\n*/"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"Data"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"c"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"complex64"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"q"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"quaternion256"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"CommentMultiline","value":"/* some other comment */"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"E"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Punctuation","value":"("},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"First"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"Second"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"Third"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"E_Set"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"distinct"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"bit_set"},
{"type":"Punctuation","value":"["},
{"type":"Name","value":"E"},
{"type":"Punctuation","value":";"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":"]"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"foo_int"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"x"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordConstant","value":"false"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"foo_float"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"f"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"f32"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"foo_en"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"e"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"E"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"-\u003e"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"e"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"=="},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Third"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"foo"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"{"},
{"type":"Name","value":"foo_int"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"foo_float"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"foo_en"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"Name","value":"SOME_CONSTANT"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"NameDecorator","value":"#config"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"COMMAND_LINE_ARG"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"3"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Name","value":"main"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"()"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"loc"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"NameDecorator","value":"#caller_location"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"m"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"map"},
{"type":"Punctuation","value":"["},
{"type":"KeywordType","value":"string"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Punctuation","value":"{}"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"da"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"["},
{"type":"Keyword","value":"dynamic"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"f64"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Keyword","value":"len"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"da"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"cap"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"da"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"foo"},
{"type":"Punctuation","value":"("},
{"type":"NameOther","value":"32"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"NameDecorator","value":"#panic"},
{"type":"Punctuation","value":"("},
{"type":"LiteralString","value":"\"oof\""},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"y"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"Name","value":"da"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"y"},
{"type":"Operator","value":"^"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"="},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"make"},
{"type":"Punctuation","value":"(["},
{"type":"Keyword","value":"dynamic"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"100"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"defer"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"delete"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"da"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"x"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameOther","value":"1"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"2"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"3"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"4"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"v"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"i"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"in"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"x"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t\t"},
{"type":"Name","value":"fmt"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"i"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralString","value":"\"-\""},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"v"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"z"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"E_Set"},
{"type":"Punctuation","value":"{."},
{"type":"Name","value":"First"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Second"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"z2"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"E_Set"},
{"type":"Punctuation","value":"{."},
{"type":"Name","value":"Third"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n\t"},
{"type":"Name","value":"assert"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"z"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"|"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"z2"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"=="},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{."},
{"type":"Name","value":"First"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Second"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"Third"},
{"type":"Punctuation","value":"})"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"NameAttribute","value":"@(test)"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Name","value":"a_test_proc"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"t"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"^"},
{"type":"Name","value":"testing"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"T"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"value"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"value"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"="},
{"type":"TextWhitespace","value":" "},
{"type":"NameOther","value":"3"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"testing"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"errnof"},
{"type":"Punctuation","value":"("},
{"type":"LiteralString","value":"\"a format: %s\""},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"value"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"NameAttribute","value":"@(disable = LOG_LEVEL \u003e= .Debug)"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Name","value":"debug_thing"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"::"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordDeclaration","value":"proc"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"x"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"y"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"z"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Name","value":"fmt"},
{"type":"Punctuation","value":"."},
{"type":"Name","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"Name","value":"x"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"y"},
{"type":"Punctuation","value":","},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"z"},
{"type":"Punctuation","value":")"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"NameAttribute","value":"@private"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Name","value":"program"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":":="},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralString","value":"`\nfoo :: proc() {\n\tfmt.println(\"hellope!\")\n}\n`"},
{"type":"TextWhitespace","value":"\n\n"},
{"type":"NameAttribute","value":"@(private = \"file\")"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Name","value":"pkg"},
{"type":"Operator","value":":"},
{"type":"TextWhitespace","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"TextWhitespace","value":"\n\n"}
]