{ "name": "Nemerle", "scopeName": "source.nemerle", "patterns": [ { "begin": "(^[ \\t]+)?(?=//)", "end": "(?!\\G)", "patterns": [ { "name": "comment.line.double-slash.nemerle", "begin": "//", "end": "\\n", "beginCaptures": { "0": { "name": "punctuation.definition.comment.nemerle" } } } ], "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.nemerle" } } }, { "name": "comment.block.nemerle", "begin": "/\\*", "end": "\\*/", "captures": { "0": { "name": "punctuation.definition.comment.nemerle" } } }, { "name": "constant.language.nemerle", "match": "\\b(|false|null|true)\\b" }, { "name": "constant.numeric.nemerle", "match": "\\b(([0-9]+(\\.|\\_)?[0-9]*(b|bu|d|f|L|LU|m|u|ub|UL)?)|(0(b|o|x)[0-9]+))\\b" }, { "name": "keyword.control.nemerle", "match": "\\b(catch|else|finally|for|foreach|if|match|repeat|try|unless|when|while)\\b" }, { "name": "keyword.operator.nemerle", "match": "(\\+|\\-|\\*|\\/|\\%)\\=?" }, { "name": "keyword.other.nemerle", "match": "\\b(\\_|as|assert|base|checked|do|fun|get|ignore|implements|in|is|lock|namespace|out|params|ref|set|syntax|throw|typeof|unchecked|using|with)\\b" }, { "name": "storage.type.nemerle", "match": "\\b(array|bool|byte|char|class|decimal|double|enum|float|int|interface|list|long|macro|module|object|sbyte|short|string|struct|type|uint|ulong|ushort|variant|void)\\b" }, { "name": "storage.modifier.nemerle", "match": "\\b(abstract|def|delegate|event|extern|internal|mutable|override|public|private|protected|sealed|static|volatile|virtual|new)\\b" }, { "name": "variable.language.nemerle", "match": "this" }, { "name": "string.quoted.double.nemerle", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.nemerle", "match": "\\\\(\\\\|'|\\\"|a|b|c[A-Z]+|e|f|n|r|u0+[0-9,A-Z]+|v)" } ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.nemerle" } }, "endCaptures": { "0": { "name": "punctuation.definition.string.end.nemerle" } } }, { "name": "string.interpolated.nemerle", "begin": "\\$\"", "end": "\"", "patterns": [ { "name": "constant.character.escape", "match": "\\$[a-z,A-Z]+[a-z,A-Z,0-9]*( |\\+|\\-|\\*|\\/|\\%)" } ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.nemerle" } }, "endCaptures": { "0": { "name": "punctuation.definition.string.end.nemerle" } } }, { "name": "string.quoted.single.nemerle", "begin": "'", "end": "'", "patterns": [ { "name": "constant.character.escape", "match": "\\\\(\\\\|'|\\\"|a|b|c[A-Z]+|e|f|n|r|u0+[0-9,A-Z]+|v)" } ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.nemerle" } }, "endCaptures": { "0": { "name": "punctuation.definition.string.end.nemerle" } } } ] }