{ "name": "MuPAD", "scopeName": "source.mupad", "patterns": [ { "name": "comment.line.double-slash.mupad", "begin": "//", "end": "$", "patterns": [ {} ] }, { "include": "#blockcomment" }, { "name": "keyword.control.mupad", "match": "\\b(axiom|end_axiom|category|end_category|begin|break|case|do|downto|elif|else|end_case|end_for|end_if|end_proc|end_repeat|end_while|for|from|if|%if|local|name|next|of|option|otherwise|proc|quit|repeat|save|step|then|to|until|while|domain|end|inherits|end_domain)\\b" }, { "name": "keyword.operator.mupad", "match": "\\b(intersect|minus|union)\\b|-\u003e|--\u003e|\\." }, { "name": "keyword.operator.arithmetic.mupad", "match": "\\b(div|mod)\\b|\\+|-|\\*|/|\\^|\\|" }, { "name": "keyword.operator.logical.mupad", "match": "\\b(and|in|not|or|xor)\\b|\u003e|\u003c|\u003c\u003e|=|\u003c=\u003e|\u003c==|==\u003e|\\|\\||\u0026\u0026" }, { "name": "keyword.operator.assignment.mupad", "match": ":=" }, { "name": "punctuation.accessor.mupad", "match": "::" }, { "name": "punctuation.terminator.mupad", "match": ";" }, { "name": "punctuation.separator.mupad", "match": "," }, { "name": "constant.language.mupad", "match": "\\b(E|FAIL|FALSE|I|NIL|TRUE|UNKNOWN|PI|EULER|CATALAN|infinity|undefined)\\b" }, { "name": "entity.name.variable.mupad", "match": "(\\b[a-zA-Z_#]\\w*\\b|`.*?`)" }, { "name": "declaration.function.mupad.one", "match": "(?:\\b([a-zA-Z_]w+(?:::\\w+)*|`.*?`)\\s*:=\\s*)\\bproc\\b\\s*\\((.*?)\\)", "captures": { "1": { "name": "entity.name.function.mupad" }, "2": { "name": "variable.parameter.mupad" } } }, { "name": "declaration.function.mupad.two", "match": "(?:\\b([a-zA-Z_]w+(?:::\\w+)*|`.*?`)\\s*:=\\s*)\\s*\\((.*?)\\)\\s*--?\u003e", "captures": { "1": { "name": "entity.name.function.mupad" }, "2": { "name": "variable.parameter.mupad" } } }, { "name": "declaration.function.mupad.three", "match": "(?:\\b([a-zA-Z_]w+(?:::\\w+)*|`.*?`)\\s*:=\\s*)\\s*(\\w+)\\s*--?\u003e", "captures": { "1": { "name": "entity.name.function.mupad" }, "2": { "name": "variable.parameter.mupad" } } }, { "name": "constant.numeric.mupad", "match": "\\b(([0-9]+\\.?[0-9]*)((e|E)(\\+|-)?[0-9]+)?)\\b" }, { "name": "string.quoted.double.mupad", "begin": "\"", "end": "\"", "patterns": [ { "include": "#string_escaped_char" } ] } ], "repository": { "blockcomment": { "name": "comment.block.mupad", "begin": "/\\*", "end": "\\*/", "patterns": [ { "include": "#blockcomment" } ] }, "string_escaped_char": { "patterns": [ { "name": "constant.character.escape.mupad", "match": "\\\\(\\\\|[bntr\"])" }, { "name": "invalid.illegal.unknown-escape.mupad", "match": "\\\\." } ] } } }