| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- {
- "aliases": [
- "re"
- ],
- "keywords": {
- "keyword": "and as asr assert begin class constraint do done downto else end exception externalfor fun function functor if in include inherit initializerland lazy let lor lsl lsr lxor match method mod module mutable new nonrecobject of open or private rec sig struct then to try type val virtual when while with",
- "built_in": "array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ",
- "literal": "true false"
- },
- "illegal": "(:\\-|:=|\\${|\\+=)",
- "contains": [
- {
- "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
- }
- ],
- "illegal": "^(\\#,\\\/\\\/)"
- },
- {
- "className": "character",
- "begin": "'(\\\\[^']+|[^'])'",
- "illegal": "\\n",
- "relevance": 0
- },
- {
- "className": "string",
- "begin": "\"",
- "end": "\"",
- "illegal": "\\n",
- "contains": [
- {
- "begin": "\\\\[\\s\\S]",
- "relevance": 0
- }
- ]
- },
- {
- "className": "literal",
- "begin": "\\(\\)",
- "relevance": 0
- },
- {
- "className": "literal",
- "begin": "\\[\\|",
- "end": "\\|\\]",
- "relevance": 0,
- "contains": [
- {
- "className": "identifier",
- "relevance": 0,
- "begin": "~?[a-z$_][0-9a-zA-Z$_]*"
- },
- {
- "className": "operator",
- "relevance": 0,
- "begin": "(\\|\\||\\&\\&|\\+\\+|\\*\\*|\\+\\.|\\*|\\\/|\\*\\.|\\\/\\.|\\.\\.\\.|\\|\\>|==|===)"
- },
- {
- "className": "number",
- "relevance": 0,
- "variants": [
- {
- "begin": "\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)"
- },
- {
- "begin": "\\(\\-\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)\\)"
- }
- ]
- }
- ]
- },
- {
- "className": "literal",
- "begin": "\\[",
- "end": "\\]",
- "relevance": 0,
- "contains": {
- "$ref": "#contains.4.contains"
- }
- },
- {
- "className": "constructor",
- "begin": "`?[A-Z$_][0-9a-zA-Z$_]*\\(",
- "end": "\\)",
- "illegal": "\\n",
- "keywords": {
- "$ref": "#keywords"
- },
- "contains": [
- {
- "$ref": "#contains.2"
- },
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "className": "params",
- "begin": "\\b~?[a-z$_][0-9a-zA-Z$_]*"
- }
- ]
- },
- {
- "className": "operator",
- "begin": "\\s+(\\|\\||\\&\\&|\\+\\+|\\*\\*|\\+\\.|\\*|\\\/|\\*\\.|\\\/\\.|\\.\\.\\.|\\|\\>|==|===)\\s+",
- "illegal": "\\-\\->",
- "relevance": 0
- },
- {
- "$ref": "#contains.4.contains.2"
- },
- {
- "className": "comment",
- "begin": "\/\/",
- "end": "$",
- "contains": [
- {
- "$ref": "#contains.0.contains.0"
- },
- {
- "className": "doctag",
- "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
- "relevance": 0
- }
- ]
- },
- {
- "className": "pattern-match",
- "begin": "\\|",
- "returnBegin": true,
- "keywords": {
- "$ref": "#keywords"
- },
- "end": "=>",
- "relevance": 0,
- "contains": [
- {
- "$ref": "#contains.6"
- },
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "relevance": 0,
- "className": "constructor",
- "begin": "`?[A-Z$_][0-9a-zA-Z$_]*"
- }
- ]
- },
- {
- "className": "function",
- "relevance": 0,
- "keywords": {
- "$ref": "#keywords"
- },
- "variants": [
- {
- "begin": "\\s(\\(\\.?.*?\\)|~?[a-z$_][0-9a-zA-Z$_]*)\\s*=>",
- "end": "\\s*=>",
- "returnBegin": true,
- "relevance": 0,
- "contains": [
- {
- "className": "params",
- "variants": [
- {
- "begin": "~?[a-z$_][0-9a-zA-Z$_]*"
- },
- {
- "begin": "~?[a-z$_][0-9a-zA-Z$_]*(s*:s*[a-z$_][0-9a-z$_]*((s*('?[a-z$_][0-9a-z$_]*s*(,'?[a-z$_][0-9a-z$_]*)*)?s*))?)?(s*:s*[a-z$_][0-9a-z$_]*((s*('?[a-z$_][0-9a-z$_]*s*(,'?[a-z$_][0-9a-z$_]*)*)?s*))?)?"
- },
- {
- "begin": "\\(\\s*\\)"
- }
- ]
- }
- ]
- },
- {
- "begin": "\\s\\(\\.?[^;\\|]*\\)\\s*=>",
- "end": "\\s=>",
- "returnBegin": true,
- "relevance": 0,
- "contains": [
- {
- "className": "params",
- "relevance": 0,
- "variants": [
- {
- "begin": "~?[a-z$_][0-9a-zA-Z$_]*",
- "end": "(,|\\n|\\))",
- "relevance": 0,
- "contains": [
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "className": "typing",
- "begin": ":",
- "end": "(,|\\n)",
- "returnBegin": true,
- "relevance": 0,
- "contains": [
- {
- "className": "module",
- "begin": "\\b`?[A-Z$_][0-9a-zA-Z$_]*",
- "returnBegin": true,
- "end": ".",
- "relevance": 0,
- "contains": [
- {
- "className": "identifier",
- "begin": "`?[A-Z$_][0-9a-zA-Z$_]*",
- "relevance": 0
- }
- ]
- },
- {
- "className": "module-access",
- "keywords": {
- "$ref": "#keywords"
- },
- "returnBegin": true,
- "variants": [
- {
- "begin": "\\b(`?[A-Z$_][0-9a-zA-Z$_]*\\.)+~?[a-z$_][0-9a-zA-Z$_]*"
- },
- {
- "begin": "\\b(`?[A-Z$_][0-9a-zA-Z$_]*\\.)+\\(",
- "end": "\\)",
- "returnBegin": true,
- "contains": [
- {
- "$ref": "#contains.11"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "skip": true
- },
- {
- "$ref": "#contains.2"
- },
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "className": "module",
- "begin": "\\b`?[A-Z$_][0-9a-zA-Z$_]*",
- "returnBegin": true,
- "end": ".",
- "contains": [
- {
- "className": "identifier",
- "begin": "`?[A-Z$_][0-9a-zA-Z$_]*",
- "relevance": 0
- }
- ]
- },
- {
- "$ref": "#contains.11"
- }
- ]
- },
- {
- "begin": "\\b(`?[A-Z$_][0-9a-zA-Z$_]*\\.)+{",
- "end": "}"
- }
- ],
- "contains": [
- {
- "$ref": "#contains.2"
- },
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "$ref": "#contains.11.variants.1.contains.0.variants.0.contains.1.contains.1.variants.1.contains.4"
- },
- {
- "$ref": "#contains.11"
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "begin": "\\(\\.\\s~?[a-z$_][0-9a-zA-Z$_]*\\)\\s*=>"
- }
- ]
- },
- {
- "className": "module-def",
- "begin": "\\bmodule\\s+~?[a-z$_][0-9a-zA-Z$_]*\\s+`?[A-Z$_][0-9a-zA-Z$_]*\\s+=\\s+{",
- "end": "}",
- "returnBegin": true,
- "keywords": {
- "$ref": "#keywords"
- },
- "relevance": 0,
- "contains": [
- {
- "className": "module",
- "relevance": 0,
- "begin": "`?[A-Z$_][0-9a-zA-Z$_]*"
- },
- {
- "begin": "{",
- "end": "}",
- "skip": true
- },
- {
- "$ref": "#contains.2"
- },
- {
- "$ref": "#contains.4.contains.1"
- },
- {
- "$ref": "#contains.11.variants.1.contains.0.variants.0.contains.1.contains.1.variants.1.contains.4"
- },
- {
- "$ref": "#contains.11"
- }
- ]
- },
- {
- "$ref": "#contains.11.variants.1.contains.0.variants.0.contains.1.contains.1"
- }
- ]
- }
|