mathematica top-level property
Implementation
final mathematica = Mode(
refs: {},
name: "Mathematica",
aliases: ["mma", "wl"],
classNameAliases: {
"brace": "punctuation",
"pattern": "type",
"slot": "type",
"symbol": "variable",
"named-character": "variable",
"builtin-symbol": "built_in",
"message-name": "string"
},
contains: [
Mode(scope: "comment", begin: "\\(\\*", end: "\\*\\)", contains: [
Mode(self: true),
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}")
]),
Mode(
className: "pattern",
relevance: 0,
begin: "([a-zA-Z\$][a-zA-Z0-9\$]*)?_+([a-zA-Z\$][a-zA-Z0-9\$]*)?"),
Mode(
className: "slot",
relevance: 0,
begin: "#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?"),
Mode(
className: "message-name",
relevance: 0,
begin: "::[a-zA-Z\$][a-zA-Z0-9\$]*"),
Mode(variants: [
Mode(
className: "builtin-symbol",
begin: "[a-zA-Z\$][a-zA-Z0-9\$]*",
onBegin: language_mathematica_contains_0_variants_0_onBegin),
Mode(
className: "symbol",
relevance: 0,
begin: "[a-zA-Z\$][a-zA-Z0-9\$]*")
]),
Mode(
className: "named-character",
begin: "\\\\\\[[\$a-zA-Z][\$a-zA-Z0-9]+\\]"),
QUOTE_STRING_MODE,
Mode(
className: "number",
relevance: 0,
begin:
"(?:([2-9]|[1-2]\\d|[3][0-5])\\^\\^(\\w*\\.\\w+|\\w+\\.\\w*|\\w+)|(\\d*\\.\\d+|\\d+\\.\\d*|\\d+))(?:(?:``[+-]?(\\d*\\.\\d+|\\d+\\.\\d*|\\d+)|`([+-]?(\\d*\\.\\d+|\\d+\\.\\d*|\\d+))?))?(?:\\*\\^[+-]?\\d+)?"),
Mode(
className: "operator",
relevance: 0,
begin: "[+\\-*/,;.:@\\x7e=><&|_`'^?!%]+"),
Mode(className: "brace", relevance: 0, begin: "[[\\](){}]")
]);