You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.3 KiB
JSON
162 lines
5.3 KiB
JSON
{
|
|
"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": ";"
|
|
}
|