bachelors-thesis/go.json

111 lines
2.9 KiB
JSON
Raw Normal View History

2023-02-27 23:47:16 +01:00
{
"displayName": "Golang",
"name": "go",
"mimeTypes": ["text/go"],
"fileExtensions": ["go"],
"lineComment": "//",
"blockCommentStart": "/*",
"blockCommentEnd": "*/",
"keywords": [
"func", "var", "make", "go", "for", "if", "int", "uint"
],
"extraKeywords": [],
"typeKeywords": [
"int", "uint"
],
"extraTypeKeywords": [],
"directives": [],
"operators": [
"=", ">", "<", "!", "~", "?", ":",
"==", "<=", ">=", "!=", "&&", "||", "++", "--",
"+", "-", "*", "/", "&", "|", "^", "%", "<<",
">>", ">>>", "+=", "-=", "*=", "/=", "&=", "|=",
"^=", "%=", "<<=", ">>=", ">>>="
],
"extraOperators": [],
"symbols": "[=><!~?:&|+\\-*\\/\\^%]+",
"escapes": "\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
"tokenizer": {
"root": [
["__\\w+", "identifier.predefined"],
["\\w+::(?=\\w)", "namespace" ],
["(namespace)(\\s*)((?:\\w+::)*\\w+)", ["keyword","white","namespace"] ],
["[a-z_$][\\w]*", { "cases": {
"@typeKeywords": "keyword.type",
"@extraTypeKeywords": "keyword.type.extra",
"@keywords": "keyword",
"@extraKeywords": "keyword.extra",
"@default": "identifier" } }],
["(\\.|\\->)([A-Z][\\w]*)", ["keyword", "identifier"] ],
["[A-Z][\\w]*(?!\\s*[\\w\\(])", "type.identifier" ],
["[A-Z][A-Z0-9_]*(?![\\w\\(])", "type.identifier" ],
["^(\\s*#)(\\w+)(.*)", { "cases": {
"$2@directives": ["namespace","namespace","string"],
"@default": ["meta","meta","string"]
}}],
{ "include": "@whitespace" },
["[{}()\\[\\]]", "@brackets"],
["[<>](?!@symbols)", "@brackets"],
["@symbols", { "cases": {
"@operators": "operator",
"@extraOperators": "operator.extra",
"@default" : "" } } ],
["\\d*\\.\\d+([eE][\\-+]?\\d+)?[fFdD]?", "number.float"],
["0[xX][0-9a-fA-F_]*[0-9a-fA-F][Ll]?", "number.hex"],
["0[0-7_]*[0-7][Ll]?", "number.octal"],
["0[bB][0-1_]*[0-1][Ll]?", "number.binary"],
["\\d+[lL]?", "number"],
["[;,.]", "delimiter"],
["[lL]\"([^\"\\\\]|\\\\.)*$", "string.invalid" ],
["\"", "string", "@string" ],
["'[^\\\\']'", "string"],
["(')(@escapes)(')", ["string","string.escape","string"]],
["'", "string.invalid"]
],
"whitespace": [
["[ \\t\\r\\n]+", "white"],
["\\/\\*", "comment", "@comment" ],
["\\/\\/.*$", "comment"]
],
"comment": [
["[^\\/*]+", "comment" ],
["\\/\\*", "comment.invalid" ],
["\\*/", "comment", "@pop" ],
["[\\/*]", "comment" ]
],
"string": [
["[^\\\\\"]+", "string"],
["@escapes", "string.escape"],
["\\\\.", "string.escape.invalid"],
["\"", "string", "@pop" ]
]
}
}