{ "fileTypes": [ "thrift" ], "keyEquivalent": "^~T", "name": "Thrift", "patterns": [ { "include": "#comments" }, { "captures": { "1": { "name": "keyword.other.include.thrift" }, "2": { "name": "string.quoted.thrift" }, "3": { "name": "punctuation.definition.string.begin.thrift" }, "4": { "name": "punctuation.definition.string.end.thrift" } }, "match": "(?.*?(\\3))))?", "name": "meta.include.thrift" }, { "captures": { "1": { "name": "keyword.other.cpp-include.thrift" }, "2": { "name": "string.quoted.thrift" }, "3": { "name": "punctuation.definition.string.begin.thrift" }, "4": { "name": "punctuation.definition.string.end.thrift" } }, "match": "(?.*?(\\3))))?", "name": "meta.cpp-include.thrift" }, { "captures": { "1": { "name": "keyword.other.namespace.thrift" }, "2": { "name": "support.other.namespace-language.thrift" }, "3": { "name": "variable.other.namespace.thrift" } }, "match": "(?map\\s*<\\s*\\g\\s*,\\s*\\g\\s*>|set\\s*<\\s*\\g\\s*>|list\\s*<\\s*\\g\\s*>\\s*cpp_type|[a-zA-Z_][\\w.]*)(?:\\s+([a-zA-Z_][\\w.]*)(?:\\s*=)?)?)?", "beginCaptures": { "1": { "name": "keyword.other.const.thrift" }, "2": { "name": "storage.type.const.thrift" }, "3": { "name": "variable.other.const.thrift" } }, "end": "$|^", "name": "meta.const.thrift", "patterns": [ { "include": "#comments" }, { "include": "#value" } ] }, { "begin": "(?map\\s*<\\s*\\g\\s*,\\s*\\g\\s*>|set\\s*<\\s*\\g\\s*>|list\\s*<\\s*\\g\\s*>\\s*cpp_type|[a-zA-Z_][\\w.]*)(?:\\s+([a-zA-Z_][\\w.]*))?)?", "beginCaptures": { "1": { "name": "keyword.other.typedef.thrift" }, "2": { "name": "storage.type.typedef.thrift" }, "3": { "name": "variable.other.typedef.thrift" } }, "end": "$|^", "name": "meta.typedef.thrift", "patterns": [ { "include": "#comments" } ] }, { "begin": "(?\n\t\t\t\t\t\t\t\t\t\t\t\tmap\\s*<\\s*\\g\\s*,\\s*\\g\\s*> |\n\t\t\t\t\t\t\t\t\t\t\t\tset\\s*<\\s*\\g\\s*> |\n\t\t\t\t\t\t\t\t\t\t\t\tlist\\s*<\\s*\\g\\s*>\\s*(cpp_type(?!\\S))? |\n\t\t\t\t\t\t\t\t\t\t\t\t(?!async\\b)[a-zA-Z_][\\w.]*\n\t\t\t\t\t\t\t\t\t\t\t)\\s*\n\t\t\t\t\t\t\t\t\t\t\t(?:\n\t\t\t\t\t\t\t\t\t\t\t\t(?\n\t\t\t\t\t\t\t\tmap\\s*<\\s*\\g\\s*,\\s*\\g\\s*> |\n\t\t\t\t\t\t\t\tset\\s*<\\s*\\g\\s*> |\n\t\t\t\t\t\t\t\tlist\\s*<\\s*\\g\\s*>\\s*(cpp_type(?!\\S))? |\n\t\t\t\t\t\t\t\t[a-zA-Z_][\\w.]*\n\t\t\t\t\t\t\t)[ \\t]*\n\t\t\t\t\t\t\t(?:([a-zA-Z_][\\w.]*)[ \\t]*)? # identifier\n\t\t\t\t\t\t\t", "beginCaptures": { "1": { "name": "storage.type.field.thrift" }, "2": { "name": "keyword.other.cpp-type.thrift" }, "3": { "name": "variable.other.field-name.thrift" } }, "end": "(?=[,;]|[)#]|//|/\\*)|$", "patterns": [ { "begin": "=", "end": "(?=[,;]|[)#]|//|/\\*)|$", "patterns": [ { "match": "(?