{ "displayName": "D", "name": "d", "mimeTypes": ["text/d"], "fileExtensions": ["d","di"], "lineComment": "//", "blockCommentStart": "/*", "blockCommentEnd": "*/", "keywords": [ "alignas", "alignof", "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", "catch", "char", "wchar", "dchar", "class", "shared", "const", "immutable", "cast", "continue", "default", "do", "double", "else", "foreach", "enum", "export", "extern", "false", "float", "for", "goto", "if", "pragma", "int", "long", "import", "module", "new", "nothrow", "not", "null", "private", "protected", "public", "register", "reinterpret_cast", "return", "short", "static", "assert", "struct", "switch", "template", "this", "__gshared", "true", "try", "alias", "typeof", "union", "virtual", "void", "volatile", "while", "final", "uint", "ulong", "ushort", "ubyte", "byte", "cent", "is", "string", "dstring", "wstring" ], "extraKeywords": [], "typeKeywords": [ "bool", "double", "cent", "byte", "int", "short", "char", "void", "long", "float", "ulong", "ushort", "uint", "ubyte", "byte", "wchar", "dchar", "string", "dstring", "wstring" ], "extraTypeKeywords": [], "directives": [ "include","if","endif","ifdef","define","line","warning","error" ], "operators": [ "=", ">", "<", "!", "~", "?", ":", "==", "<=", ">=", "!=", "&&", "||", "++", "--", "+", "-", "*", "/", "&", "|", "^", "%", "<<", ">>", ">>>", "+=", "-=", "*=", "/=", "&=", "|=", "^=", "%=", "<<=", ">>=", ">>>=" ], "extraOperators": [], "symbols": "[=>)([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" ] ] } }