fix and improvements
This commit is contained in:
+367
-278
@@ -2,6 +2,7 @@
|
||||
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
|
||||
"name": "TSL",
|
||||
"scopeName": "source.tsl",
|
||||
"fileTypes": ["tsl", "tsf"],
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comments"
|
||||
@@ -13,28 +14,25 @@
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#keywords"
|
||||
},
|
||||
{
|
||||
"include": "#functions"
|
||||
"include": "#function-definitions"
|
||||
},
|
||||
{
|
||||
"include": "#function-calls"
|
||||
},
|
||||
{
|
||||
"include": "#variable-declarations"
|
||||
},
|
||||
{
|
||||
"include": "#property-chains"
|
||||
},
|
||||
{
|
||||
"include": "#keywords"
|
||||
},
|
||||
{
|
||||
"include": "#operators"
|
||||
},
|
||||
{
|
||||
"include": "#types"
|
||||
},
|
||||
{
|
||||
"include": "#builtins"
|
||||
},
|
||||
{
|
||||
"include": "#identifiers"
|
||||
"include": "#delimiters"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
@@ -47,35 +45,35 @@
|
||||
"0": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment-todo"
|
||||
"include": "#todo-keywords"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "comment.block.pascal.tsl",
|
||||
"name": "comment.block.pascal-style.tsl",
|
||||
"begin": "\\(\\*",
|
||||
"end": "\\*\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment-todo"
|
||||
"include": "#todo-keywords"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "comment.block.curly.tsl",
|
||||
"name": "comment.block.braces.tsl",
|
||||
"begin": "\\{",
|
||||
"end": "\\}",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#comment-todo"
|
||||
"include": "#todo-keywords"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"comment-todo": {
|
||||
"todo-keywords": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "keyword.other.todo.tsl",
|
||||
@@ -83,11 +81,254 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-definitions": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function.definition.tsl",
|
||||
"begin": "\\b(function|procedure)\\s+",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "storage.type.function.tsl"
|
||||
}
|
||||
},
|
||||
"end": "(?=;|\\bbegin\\b)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#function-name"
|
||||
},
|
||||
{
|
||||
"include": "#function-params"
|
||||
},
|
||||
{
|
||||
"include": "#return-type"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-name": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "entity.name.function.definition.tsl",
|
||||
"match": "(?<=\\b(?:function|procedure)\\s+)(?:(\\w+)\\.)?(\\w+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "entity.name.type.class.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "entity.name.function.tsl"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-params": {
|
||||
"name": "meta.function.parameters.tsl",
|
||||
"begin": "\\(",
|
||||
"end": "\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#param-declaration"
|
||||
},
|
||||
{
|
||||
"include": "#simple-param"
|
||||
},
|
||||
{
|
||||
"include": "#param-separator"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#property-chains"
|
||||
}
|
||||
]
|
||||
},
|
||||
"param-declaration": {
|
||||
"name": "meta.parameter.tsl",
|
||||
"match": "(\\w+)\\s*(:)\\s*([^;,)=]*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.parameter.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.type.tsl"
|
||||
},
|
||||
"3": {
|
||||
"name": "storage.type.tsl"
|
||||
}
|
||||
}
|
||||
},
|
||||
"simple-param": {
|
||||
"name": "variable.parameter.simple.tsl",
|
||||
"match": "\\b(\\w+)(?=\\s*[,;)])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.parameter.tsl"
|
||||
}
|
||||
}
|
||||
},
|
||||
"return-type": {
|
||||
"name": "meta.function.return-type.tsl",
|
||||
"match": "(:)\\s*([^;]*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.separator.type.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "storage.type.tsl"
|
||||
}
|
||||
}
|
||||
},
|
||||
"param-separator": {
|
||||
"name": "punctuation.separator.parameter.tsl",
|
||||
"match": "[;,]"
|
||||
},
|
||||
"variable-declarations": {
|
||||
"name": "meta.variable.declaration.tsl",
|
||||
"match": "^\\s*(\\w+)\\s*(:)(?!=)\\s*([^;?]*)(;)?",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.other.declaration.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.type.tsl"
|
||||
},
|
||||
"3": {
|
||||
"name": "storage.type.tsl"
|
||||
},
|
||||
"4": {
|
||||
"name": "punctuation.terminator.tsl"
|
||||
}
|
||||
}
|
||||
},
|
||||
"property-chains": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.property.chain.tsl",
|
||||
"begin": "\\b(\\w+)(?=\\.)",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "variable.other.object.tsl"
|
||||
}
|
||||
},
|
||||
"end": "(?!\\.(\\w+))",
|
||||
"patterns": [
|
||||
{
|
||||
"begin": "\\.",
|
||||
"beginCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.accessor.tsl"
|
||||
}
|
||||
},
|
||||
"end": "(\\w+)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "variable.other.property.tsl"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-calls": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function.call.tsl",
|
||||
"begin": "(?<!\\b(?:function|procedure)\\s+)(\\w+)\\s*(\\()",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.definition.parameters.begin.tsl"
|
||||
}
|
||||
},
|
||||
"end": "\\)",
|
||||
"endCaptures": {
|
||||
"0": {
|
||||
"name": "punctuation.definition.parameters.end.tsl"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#call-params"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#function-calls"
|
||||
},
|
||||
{
|
||||
"include": "#operators"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"call-params": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function.call.parameter.tsl",
|
||||
"match": "(\\w+)\\s*(:)\\s*([^;,)]*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.parameter.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.separator.parameter.tsl"
|
||||
},
|
||||
"3": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#function-calls"
|
||||
},
|
||||
{
|
||||
"include": "#property-chains"
|
||||
},
|
||||
{
|
||||
"include": "#operators"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.parameter.tsl",
|
||||
"match": "[;,]"
|
||||
}
|
||||
]
|
||||
},
|
||||
"strings": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "string.quoted.single.tsl",
|
||||
"begin": "[uU]?'",
|
||||
"end": "'",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "constant.character.escape.tsl",
|
||||
"match": "\\\\."
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.quoted.double.tsl",
|
||||
"begin": "\"",
|
||||
"begin": "[uU]?\"",
|
||||
"end": "\"",
|
||||
"patterns": [
|
||||
{
|
||||
@@ -97,9 +338,9 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "string.quoted.single.tsl",
|
||||
"begin": "'",
|
||||
"end": "'",
|
||||
"name": "string.quoted.raw.tsl",
|
||||
"begin": "[uU]?[rR](['\"])",
|
||||
"end": "\\1",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "constant.character.escape.tsl",
|
||||
@@ -111,270 +352,77 @@
|
||||
},
|
||||
"numbers": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "constant.numeric.hex.tsl",
|
||||
"match": "\\b0[xX][0-9a-fA-F]+[Ll]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.octal.tsl",
|
||||
"match": "\\b0[oO]?[0-7]+[Ll]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.hexadecimal.tsl",
|
||||
"match": "\\b0[xX][0-9a-fA-F]+[Ll]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.binary.tsl",
|
||||
"match": "\\b0[bB][01]+[Ll]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.float.tsl",
|
||||
"match": "\\b\\d+\\.\\d*([eE][+-]?\\d+)?[jJ]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.float.tsl",
|
||||
"match": "\\b\\d*\\.\\d+([eE][+-]?\\d+)?[jJ]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.scientific.tsl",
|
||||
"match": "\\b\\d+[eE][+-]?\\d+[jJ]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.integer.tsl",
|
||||
"name": "constant.numeric.decimal.tsl",
|
||||
"match": "\\b([1-9]\\d*|0)[Ll]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.complex.tsl",
|
||||
"match": "\\b\\d+[jJ]\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.float.tsl",
|
||||
"match": "\\b\\d+[eE][+-]?\\d+[jJ]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.float.tsl",
|
||||
"match": "\\b\\d+\\.([eE][+-]?\\d+)?[jJ]?\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.numeric.float.tsl",
|
||||
"match": "\\b\\d*\\.\\d+([eE][+-]?\\d+)?[jJ]?\\b"
|
||||
}
|
||||
]
|
||||
},
|
||||
"keywords": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "keyword.control.header.tsl",
|
||||
"match": "\\b(program|function|procedure)\\b"
|
||||
},
|
||||
{
|
||||
"name": "variable.language.builtin.tsl",
|
||||
"match": "\\b(paramcount|realparamcount|params|system|thisfunction|tslassigning|likeeps|likeepsrate)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.conditional.tsl",
|
||||
"match": "\\b(if|else|case|of)\\b"
|
||||
"match": "\\b(else|if)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.statement.tsl",
|
||||
"match": "\\b(begin|end|then|this|with|exit|weakref|autoref|namespace)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.interface.tsl",
|
||||
"match": "\\b(unit|uses|implementation|interface|initalization|finalization)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.repeat.tsl",
|
||||
"match": "\\b(for|while|do|downto|step|until|repeat|to)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.flow.tsl",
|
||||
"match": "\\b(break|continue|exit|return|debugreturn|debugrunenv|debugrunenvdo)\\b"
|
||||
"name": "keyword.control.branch.tsl",
|
||||
"match": "\\b(break|continue)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.exception.tsl",
|
||||
"match": "\\b(try|except|finally|raise|exceptobject)\\b"
|
||||
"name": "keyword.control.return.tsl",
|
||||
"match": "\\b(return|debugreturn|debugrunenv|debugrunenvdo)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.unit.tsl",
|
||||
"match": "\\b(unit|uses|implementation|interface|initalization|finalization)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.class.tsl",
|
||||
"match": "\\b(class|type|fakeclass|new)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.access.tsl",
|
||||
"match": "\\b(public|protected|private|published)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.tsl",
|
||||
"match": "\\b(global|static|external|const|out|var)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.tsl",
|
||||
"match": "\\b(begin|end|then|this|with|weakref|autoref|namespace|goto|label)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.calling-convention.tsl",
|
||||
"match": "\\b(cdecl|pascal|stdcall|safecall|fastcall|register)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.class-modifier.tsl",
|
||||
"match": "\\b(override|overload|virtual|property|self|inherited)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.construct.tsl",
|
||||
"match": "\\b(create|destroy|operator)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.special.tsl",
|
||||
"match": "\\b(setuid|sudo)\\b"
|
||||
}
|
||||
]
|
||||
},
|
||||
"functions": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function.tsl",
|
||||
"begin": "\\b(program|function|procedure)\\s+",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "storage.type.function.tsl"
|
||||
}
|
||||
},
|
||||
"end": "(?=;|\\n|\\{|begin)",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "entity.name.function.tsl",
|
||||
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*(?:\\.[a-zA-Z_][a-zA-Z0-9_]*)*\\b"
|
||||
},
|
||||
{
|
||||
"include": "#function-parameters"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-parameters": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function.parameters.tsl",
|
||||
"begin": "\\(",
|
||||
"end": "\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "variable.parameter.tsl",
|
||||
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.parameter.tsl",
|
||||
"match": "[;,]"
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.type.tsl",
|
||||
"match": ":"
|
||||
},
|
||||
{
|
||||
"include": "#types"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-calls": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.function-call.method.tsl",
|
||||
"begin": "\\b([a-zA-Z_][a-zA-Z0-9_]*)(\\.)([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "variable.other.object.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.accessor.tsl"
|
||||
},
|
||||
"3": {
|
||||
"name": "entity.name.function.call.method.tsl"
|
||||
}
|
||||
},
|
||||
"end": "\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#function-call-parameters"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "meta.function-call.tsl",
|
||||
"begin": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\(",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "entity.name.function.call.tsl"
|
||||
}
|
||||
},
|
||||
"end": "\\)",
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#function-call-parameters"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"function-call-parameters": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "variable.parameter.named.tsl",
|
||||
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*:)"
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.parameter.tsl",
|
||||
"match": "[;,]"
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.type.tsl",
|
||||
"match": ":"
|
||||
},
|
||||
{
|
||||
"include": "#strings"
|
||||
},
|
||||
{
|
||||
"include": "#numbers"
|
||||
},
|
||||
{
|
||||
"include": "#identifiers"
|
||||
}
|
||||
]
|
||||
},
|
||||
"property-chains": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "meta.property-access.chained.tsl",
|
||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)((?:\\.[a-zA-Z_][a-zA-Z0-9_]*)+)(?!\\s*\\()",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.other.object.tsl"
|
||||
},
|
||||
"2": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(\\.)([a-zA-Z_][a-zA-Z0-9_]*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.accessor.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.other.property.tsl"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "meta.property-access.simple.tsl",
|
||||
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)(\\.)([a-zA-Z_][a-zA-Z0-9_]*)(?!\\s*\\()",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "variable.other.object.tsl"
|
||||
},
|
||||
"2": {
|
||||
"name": "punctuation.accessor.tsl"
|
||||
},
|
||||
"3": {
|
||||
"name": "variable.other.property.tsl"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"operators": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "keyword.operator.assignment.tsl",
|
||||
"match": ":="
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.arithmetic.tsl",
|
||||
"match": "[+\\-*/<>=]|\\b(div|mod)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.logical.tsl",
|
||||
"match": "\\b(and|or|not|in|is)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.bitwise.tsl",
|
||||
"match": "\\b(ror|rol|shr|shl)\\b"
|
||||
"name": "keyword.control.label.tsl",
|
||||
"match": "\\b(case|of|goto|label)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.io.tsl",
|
||||
@@ -385,54 +433,95 @@
|
||||
"match": "\\b(union|minus|union2)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.other.tsl",
|
||||
"match": "[!&|^~%]"
|
||||
"name": "keyword.operator.shift.tsl",
|
||||
"match": "\\b(ror|rol|shr|shl)\\b"
|
||||
},
|
||||
{
|
||||
"name": "punctuation.separator.tsl",
|
||||
"match": "[()\\[\\]{},;:.@?]"
|
||||
}
|
||||
]
|
||||
},
|
||||
"types": {
|
||||
"patterns": [
|
||||
"name": "keyword.operator.logical.tsl",
|
||||
"match": "\\b(and|in|is|not|or)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.primitive.tsl",
|
||||
"match": "\\b(string|integer|boolean|int64|real)\\b"
|
||||
}
|
||||
]
|
||||
},
|
||||
"builtins": {
|
||||
"patterns": [
|
||||
"name": "keyword.operator.arithmetic.tsl",
|
||||
"match": "\\b(div|mod)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.control.exception.tsl",
|
||||
"match": "\\b(except|raise|try|finally|exceptobject)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.language.boolean.tsl",
|
||||
"match": "\\b(true|false)\\b"
|
||||
"match": "\\b(false|true)\\b"
|
||||
},
|
||||
{
|
||||
"name": "constant.language.null.tsl",
|
||||
"match": "\\bnil\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.variable.builtin.tsl",
|
||||
"match": "\\b(paramcount|realparamcount|params|system|thisfunction|tslassigning|likeeps|likeepsrate)\\b"
|
||||
"name": "storage.type.tsl",
|
||||
"match": "\\b(string|integer|boolean|int64|real|array)\\b"
|
||||
},
|
||||
{
|
||||
"name": "support.function.builtin.tsl",
|
||||
"match": "\\b(echo|mtic|mtoc|this|inf|nan)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.tsl",
|
||||
"match": "\\b(external|const|out|var)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.sql.tsl",
|
||||
"match": "\\b(select|vselect|sselect|update|delete|mselect|set|sqlin|from|where|group|by|like|order)\\b"
|
||||
"match": "\\b(select|vselect|sselect|update|delete|mselect|set)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.sql.tsl",
|
||||
"match": "\\b(sqlin|from|where|group|by|like|order)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.system.tsl",
|
||||
"match": "\\b(setuid|sudo)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.calling-convention.tsl",
|
||||
"match": "\\b(cdecl|pascal|stdcall|safecall|fastcall|register)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.scope.tsl",
|
||||
"match": "\\b(global|static)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.type.class.tsl",
|
||||
"match": "\\b(type|class|fakeclass|new)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.class.tsl",
|
||||
"match": "\\b(override|overload|virtual|property|self|inherited)\\b"
|
||||
},
|
||||
{
|
||||
"name": "keyword.other.constructor.tsl",
|
||||
"match": "\\b(create|destroy|operator)\\b"
|
||||
},
|
||||
{
|
||||
"name": "storage.modifier.access.tsl",
|
||||
"match": "\\b(public|protected|private|published)\\b"
|
||||
}
|
||||
]
|
||||
},
|
||||
"identifiers": {
|
||||
"operators": {
|
||||
"name": "keyword.operator.tsl",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "variable.other.tsl",
|
||||
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
|
||||
"name": "keyword.operator.assignment.tsl",
|
||||
"match": ":="
|
||||
},
|
||||
{
|
||||
"name": "keyword.operator.arithmetic.tsl",
|
||||
"match": "[+\\-*/<>=!&|^~%]"
|
||||
}
|
||||
]
|
||||
},
|
||||
"delimiters": {
|
||||
"name": "punctuation.separator.tsl",
|
||||
"match": "[()\\[\\]{},;:.@?]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user