{ "keywords": "let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription", "contains": [ { "beginKeywords": "port effect module", "end": "exposing", "keywords": "port effect module where command subscription exposing", "contains": [ { "begin": "\\(", "end": "\\)", "illegal": "\"", "contains": [ { "className": "type", "begin": "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?" }, { "variants": [ { "className": "comment", "begin": "--", "end": "$", "contains": [ { "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b" }, { "className": "doctag", "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):", "relevance": 0 } ] }, { "className": "comment", "begin": "{-", "end": "-}", "contains": [ "self", { "$ref": "#contains.0.contains.0.contains.1.variants.0.contains.0" }, { "className": "doctag", "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):", "relevance": 0 } ] } ] } ] }, { "$ref": "#contains.0.contains.0.contains.1" } ], "illegal": "\\W\\.|;" }, { "begin": "import", "end": "$", "keywords": "import as exposing", "contains": [ { "$ref": "#contains.0.contains.0" }, { "$ref": "#contains.0.contains.0.contains.1" } ], "illegal": "\\W\\.|;" }, { "begin": "type", "end": "$", "keywords": "type alias", "contains": [ { "className": "type", "begin": "\\b[A-Z][\\w']*", "relevance": 0 }, { "$ref": "#contains.0.contains.0" }, { "begin": "{", "end": "}", "contains": { "$ref": "#contains.0.contains.0.contains" } }, { "$ref": "#contains.0.contains.0.contains.1" } ] }, { "beginKeywords": "infix infixl infixr", "end": "$", "contains": [ { "className": "number", "begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", "relevance": 0 }, { "$ref": "#contains.0.contains.0.contains.1" } ] }, { "begin": "port", "end": "$", "keywords": "port", "contains": [ { "$ref": "#contains.0.contains.0.contains.1" } ] }, { "className": "string", "begin": "'\\\\?.", "end": "'", "illegal": "." }, { "className": "string", "begin": "\"", "end": "\"", "illegal": "\\n", "contains": [ { "begin": "\\\\[\\s\\S]", "relevance": 0 } ] }, { "$ref": "#contains.3.contains.0" }, { "$ref": "#contains.2.contains.0" }, { "className": "title", "begin": "^[_a-z][\\w']*", "relevance": 0 }, { "$ref": "#contains.0.contains.0.contains.1" }, { "begin": "->|<-" } ], "illegal": ";" }