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.

167 lines
6.0 KiB
JSON

{
"aliases": [
"jsp"
],
"keywords": "false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",
"illegal": "<\\\/|#",
"contains": [
{
"className": "comment",
"begin": "\/\\*\\*",
"end": "\\*\/",
"contains": [
{
"begin": "\\w+@",
"relevance": 0
},
{
"className": "doctag",
"begin": "@[A-Za-z]+"
},
{
"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
}
],
"relevance": 0
},
{
"className": "comment",
"begin": "\/\/",
"end": "$",
"contains": [
{
"$ref": "#contains.0.contains.2"
},
{
"className": "doctag",
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
"relevance": 0
}
]
},
{
"className": "comment",
"begin": "\/\\*",
"end": "\\*\/",
"contains": [
{
"$ref": "#contains.0.contains.2"
},
{
"className": "doctag",
"begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
"relevance": 0
}
]
},
{
"className": "string",
"begin": "'",
"end": "'",
"illegal": "\\n",
"contains": [
{
"begin": "\\\\[\\s\\S]",
"relevance": 0
}
]
},
{
"className": "string",
"begin": "\"",
"end": "\"",
"illegal": "\\n",
"contains": [
{
"$ref": "#contains.3.contains.0"
}
]
},
{
"className": "class",
"beginKeywords": "class interface",
"end": "[{;=]",
"excludeEnd": true,
"keywords": "class interface",
"illegal": "[:\"\\[\\]]",
"contains": [
{
"beginKeywords": "extends implements"
},
{
"className": "title",
"begin": "[a-zA-Z_]\\w*",
"relevance": 0
}
]
},
{
"beginKeywords": "new throw return else",
"relevance": 0
},
{
"className": "function",
"begin": "([À\\-ʸa-zA-Z_$][À\\-ʸa-zA-Z_$0-9]*(<[À\\-ʸa-zA-Z_$][À\\-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À\\-ʸa-zA-Z_$][À\\-ʸa-zA-Z_$0-9]*)*>)?\\s+)+[a-zA-Z_]\\w*\\s*\\(",
"returnBegin": true,
"end": "[{;=]",
"excludeEnd": true,
"keywords": "false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",
"contains": [
{
"begin": "[a-zA-Z_]\\w*\\s*\\(",
"returnBegin": true,
"relevance": 0,
"contains": [
{
"$ref": "#contains.5.contains.1"
}
]
},
{
"className": "params",
"begin": "\\(",
"end": "\\)",
"keywords": "false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",
"relevance": 0,
"contains": [
{
"$ref": "#contains.3"
},
{
"$ref": "#contains.4"
},
{
"className": "number",
"begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
"relevance": 0
},
{
"$ref": "#contains.2"
}
]
},
{
"$ref": "#contains.1"
},
{
"$ref": "#contains.2"
}
]
},
{
"className": "number",
"begin": "\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",
"relevance": 0
},
{
"className": "meta",
"begin": "@[A-Za-z]+"
}
]
}