UNPKG

ibm-streams

Version:
1,364 lines (1,363 loc) 33.4 kB
{ "scopeName": "source.spl", "name": "StreamsSpl", "fileTypes": ["spl"], "patterns": [ { "begin": "\\b(namespace)\\b\\s*", "beginCaptures": { "1": { "name": "keyword.other.namespace.spl" } }, "end": "\\s*(;)", "endCaptures": { "1": { "name": "punctuation.terminator.spl" } }, "name": "meta.namespace.spl", "contentName": "storage.modifier.namespace.spl", "patterns": [ { "include": "#perl" }, { "include": "#comments" }, { "match": "(?<=\\.)\\s*\\.|\\.(?=\\s*;)", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "(?<!_)_(?=\\s*(\\.|;))|\\b\\d+|-+", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "(?x)\\b(?<!\\$)\n(abstract|assert|boolean|break|byte|case|catch|rstring|composite|\nconst|continue|default|do|double|else|enum|extends|final|\nfinally|float32|float64|for|goto|if|implements|use|instanceof|int32|int64|\ninterface|long|native|new|namespace|private|protected|public|\nreturn|short|static|strictfp|super|switch|syncronized|this|\nthrow|throws|transient|try|void|volatile|while|\ntrue|false|null)\\b", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "\\.", "name": "punctuation.separator.spl" } ] }, { "begin": "\\b(use)\\b\\s*\\b(static)?\\b\\s", "beginCaptures": { "1": { "name": "keyword.other.use.spl" }, "2": { "name": "storage.modifier.spl" } }, "end": "\\s*(;)", "endCaptures": { "1": { "name": "punctuation.terminator.spl" } }, "name": "meta.use.spl", "contentName": "storage.modifier.use.spl", "patterns": [ { "include": "#perl" }, { "match": "\\.", "name": "punctuation.separator.spl" }, { "match": "\\*", "name": "variable.language.wildcard.spl" }, { "include": "#comments" }, { "match": "(?<=\\.)\\s*\\.|\\.(?=\\s*;)", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "(?<!\\.)\\s*\\*", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "(?<!_)_(?=\\s*(\\.|;))|\\b\\d+|-+", "name": "invalid.illegal.character_not_allowed_here.spl" }, { "match": "(?x)\\b(?<!\\$)\n(abstract|assert|boolean|break|byte|case|catch|rstring|composite|\nconst|continue|default|do|double|else|enum|extends|final|\nfinally|float32|float64|for|goto|if|implements|use|instanceof|int32|int64|\ninterface|long|native|new|namespace|private|protected|public|\nreturn|short|static|strictfp|super|switch|syncronized|this|\nthrow|throws|transient|try|void|volatile|while|\ntrue|false|null)\\b", "name": "invalid.illegal.character_not_allowed_here.spl" } ] }, { "include": "#comments-spldoc" }, { "include": "#standalone-type-def" }, { "include": "#composite" }, { "include": "#functions" }, { "include": "#code" } ], "repository": { "nested-bracket-angle": { "begin": "\\<", "beginCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "end": "\\>", "endCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "patterns": [ { "include": "#primitiveTypes" }, { "include": "#nested-bracket-angle" }, { "include": "#stream-type-body" } ] }, "nested-bracket-curly": { "begin": "\\{", "beginCaptures": { "0": { "name": "punctuation.bracket.curly.spl" } }, "end": "\\}", "endCaptures": { "0": { "name": "punctuation.bracket.curly.spl" } }, "patterns": [ { "include": "#code" }, { "include": "#nested-bracket-curly" } ] }, "allTypes": { "patterns": [ { "include": "#primitiveTypes" }, { "match": "\\b(void)\\b", "name": "storage.type.primitive.spl" }, { "include": "#compositeTypes" }, { "include": "#jmxNotificationTypes" } ] }, "composite": { "begin": "(?=(?:public\\s+)?composite)", "end": "}", "endCaptures": { "0": { "name": "punctuation.section.composite.end.bracket.curly.spl" } }, "name": "meta.composite.spl", "patterns": [ { "match": "(composite)\\s+([A-Za-z_][\\w$]*)", "captures": { "1": { "name": "keyword.control.spl" }, "2": { "name": "entity.name.type.composite.spl" } } }, { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.composite-in-out.begin.bracket.round.spl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.composite-in-out.end.bracket.round.spl" } }, "contentName": "meta.composite-head-in-out.spl", "patterns": [ { "include": "#composite-in-out" } ] }, { "begin": "{", "beginCaptures": { "0": { "name": "punctuation.section.composite.begin.bracket.curly.spl" } }, "end": "(?=})", "contentName": "meta.composite.body.spl", "patterns": [ { "include": "#composite-body" } ] }, { "include": "#code" } ] }, "composite-body": { "patterns": [ { "include": "#composite-body-param" }, { "include": "#composite-body-type" }, { "include": "#composite-body-graph" }, { "include": "#composite-body-config" }, { "include": "#stream-type" }, { "include": "#code" } ] }, "composite-in-out": { "begin": "(input|output)", "beginCaptures": { "0": { "name": "keyword.control.spl" } }, "end": "(?=;|\\))", "name": "meta.composite-in-out.spl", "patterns": [ { "include": "#stream-type" }, { "match": "([A-Za-z_][\\w$]*)", "captures": { "1": { "name": "variable.oter.definition.spl" } } }, { "include": "#code" } ] }, "statements": { "patterns": [ { "include": "#variable-definition" }, { "include": "#return-statement" } ] }, "variable-definition": { "begin": "(?x)(?=(int8|int16|int32|int128|uint8|uint16|uint32|uint64|uint128|float32|float64|decimal32|decimal64|decimal128|complex32|complex64|timestamp|blob|ustring|(?>(enum)\\{\\w*\\}))\\s+[A-Za-z_][\\w$]*([\\w,$][\\w,\\s]*)?\\s*(=|;))", "end": "(?=;)", "name": "meta.definition.variable.spl", "patterns": [ { "match": "([A-Za-z_][\\w$]*)(?=\\s*(;|=|,))", "captures": { "1": { "name": "variable.other.definition.spl" } } }, { "include": "#allTypes" }, { "begin": "=", "beginCaptures": { "0": { "name": "keyword.operator.assignment.spl" } }, "end": "(?=;)", "patterns": [ { "include": "#code" } ] }, { "include": "#code" } ] }, "code": { "patterns": [ { "include": "#perl" }, { "include": "#annotations" }, { "include": "#variable-definition" }, { "include": "#numbers" }, { "include": "#allTypes" }, { "include": "#strings" }, { "include": "#keywords" }, { "include": "#storage-modifiers" }, { "include": "#comments" }, { "include": "#statements" }, { "include": "#param" }, { "include": "#function-call" }, { "include": "#parens" }, { "match": ",", "name": "punctuation.separator.delimiter.spl" }, { "match": "\\.", "name": "punctuation.separator.period.spl" }, { "match": ";", "name": "punctuation.terminator.spl" }, { "match": "([A-Za-z_][\\w$]*)\\.(?:[A-Za-z_][\\w$]*)", "captures": { "1": { "name": "entity.name.function.object.spl" } } }, { "match": "(\\btuple\\b)\\<", "captures": { "1": { "name": "keyword.control.spl" } } }, { "match": "[A-Za-z_][\\w$]*", "name": "variable.other.definition.spl" } ] }, "perl": { "patterns": [ { "begin": "<%", "end": "%>", "name": "entity.other.perl" } ] }, "comments": { "patterns": [ { "begin": "/\\*", "captures": { "0": { "name": "punctuation.definition.comment.spl" } }, "end": "\\*/", "name": "comment.block.spl" }, { "begin": "(^[ \\t]+)?(?=//)", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.spl" } }, "end": "(?!\\G)", "patterns": [ { "begin": "//", "beginCaptures": { "0": { "name": "punctuation.definition.comment.spl" } }, "end": "\\n", "name": "comment.line.double-slash.spl" } ] } ] }, "primitiveTypes": { "match": "\\b(boolean|int8|int16|int32|int64|int128|uint8|uint16|uint32|uint64|uint128|float32|float64|decimal32|decimal64|decimal128|complex32|complex64|timestamp|blob|ustring|xml|rstring|enum)\\b", "name": "storage.type.primitive.spl" }, "compositeTypes": { "patterns": [ { "include": "#tupleType" }, { "match": "\\b(list|map|set)\\b", "name": "storage.type.composite.spl" } ] }, "jmxNotificationTypes": { "match": "\\b(MBeanNotification|MBeanNotificationBase|MBeanNotificationUserString)\\b", "captures": { "1": { "name": "storage.type.jmx-notification.spl" } } }, "keywords": { "patterns": [ { "match": "\\b(if|in|true|false|for|function|operator|while|as|break|continue|return|else|attribute|expression|mutable|window|logic|param|output|config|type|graph|onProcess|onTuple|onPunct|state|tumbling|sliding|timeInterval|partitioned|static|composite)\\b", "name": "keyword.control.spl" }, { "match": "(===?|!=|<=|>=|<>|<|>)", "name": "keyword.operator.comparison.spl" }, { "match": "(=)", "name": "keyword.operator.assignment.spl" }, { "match": "%=|\\+=|-=|\\*=|(?<!\\()/=", "name": "keyword.operator.assignment.compound.spl" }, { "match": "&=|\\^=|<<=|>>=|\\|=", "name": "keyword.operator.assignment.compound.bitwise.spl" }, { "match": "--", "name": "keyword.operator.decrement.spl" }, { "match": "\\+\\+", "name": "keyword.operator.increment.spl" } ] }, "storage-modifiers": { "patterns": [ { "match": "\\b(public|stateful)\\b", "name": "storage.modifier.spl" } ] }, "functions": { "begin": "(?=[A-Za-z_][\\w$]*\\s*\\()", "end": "}", "endCaptures": { "0": { "name": "punctuation.section.functions.end.bracket.curly.spl" } }, "name": "meta.functions.spl", "patterns": [ { "begin": "{", "beginCaptures": { "0": { "name": "punctuation.section.functions.begin.bracket.curly.spl" } }, "end": "(?=})", "name": "meta.function-body.spl", "patterns": [ { "include": "#code" } ] }, { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.function-params.begin.bracket.round.spl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.function-params.end.bracket.round.spl" } }, "contentName": "meta.function-params.spl", "patterns": [ { "include": "#parameters" } ] }, { "match": "([A-Za-z_][\\w$]*)\\s*", "captures": { "1": { "name": "entity.name.function.composite.spl" } } } ] }, "function-call": { "begin": "([A-Za-z_$][\\w$]*)\\s*(\\()", "beginCaptures": { "1": { "name": "entity.name.function.spl" }, "2": { "name": "punctuation.definition.parameters.begin.bracket.round.spl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.bracket.round.spl" } }, "name": "meta.function-call.java", "patterns": [ { "include": "#code" } ] }, "parameters": { "patterns": [ { "include": "#allTypes" }, { "match": "\\w+", "name": "variable.parameter.spl" }, { "match": ",", "name": "punctuation.separator.delimiter.spl" } ] }, "standalone-type-def": { "begin": "(?=type)", "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.spl" } }, "name": "meta.standalone-type-def.spl", "patterns": [ { "match": "(type)\\s+([A-Za-z_][\\w$]*)", "captures": { "1": { "name": "keyword.control.spl" }, "2": { "name": "variable.other.definition.spl" } } }, { "begin": "=", "beginCaptures": { "0": { "name": "keyword.operator.assignment.spl" } }, "end": "(?=;)", "patterns": [ { "include": "#allTypes" }, { "include": "#tuple-type-body" } ] }, { "include": "#code" } ] }, "tuple-type": { "begin": "(?=tuple<)", "end": "(>)", "endCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "name": "meta.tuple-type.spl", "patterns": [ { "match": "\\btuple\\b", "captures": { "0": { "name": "keyword.control.spl" } } }, { "begin": "<", "beginCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "end": "(?=>)", "contentName": "meta.tuple-type-body.spl", "patterns": [ { "include": "#tuple-type-body" } ] } ] }, "tuple-type-body": { "name": "meta.tuple-type-body.spl", "contentName": "meta.tuple-type-body.spl", "patterns": [ { "include": "#tuple-type" }, { "include": "#primitiveTypes" }, { "match": "(?:\\w+)\\s+([A-Za-z_][\\w$]*)", "captures": { "1": { "name": "variable.other.definition.spl" } } }, { "include": "#code" } ] }, "stream-type": { "begin": "\\<", "end": "\\>", "name": "meta.stream-type.spl", "patterns": [ { "include": "#nested-bracket-angle" }, { "include": "#stream-type-body" } ] }, "stream-type-body": { "name": "meta.stream-type-body.spl", "patterns": [ { "include": "#tuple-type-body" }, { "include": "#tuple-type" } ] }, "composite-body-type": { "begin": "(?=type)", "end": "(?=graph|config|})", "name": "meta.composite-body-type.spl", "patterns": [ { "include": "#composite-type-def" }, { "include": "#code" } ] }, "composite-body-param": { "begin": "(?=param)", "end": "(?=type|graph|config|\\})", "name": "meta.composite-body-param", "patterns": [ { "include": "#composite-formal" }, { "include": "#code" } ] }, "composite-body-graph": { "begin": "(?=graph)", "end": "(?=config|})", "name": "meta.composite-body-graph.spl", "patterns": [ { "include": "#op-invoke" }, { "include": "#code" } ] }, "composite-body-config": { "begin": "(?=config)", "end": "(?=})", "name": "meta.composite-body-config.spl", "patterns": [ { "include": "#configuration" }, { "include": "#code" } ] }, "composite-formal": { "begin": "(?=expression|attribute|function|type|operator)", "end": "(?=;|\\))", "name": "meta.composite-formal.spl", "patterns": [ { "include": "#type-args" }, { "begin": "([A-Za-z$_][\\w$]*)\\s*:", "beginCaptures": { "1": { "name": "variable.other.definition.spl" } }, "end": "(?=;)", "patterns": [ { "include": "#code" } ] }, { "include": "#code" }, { "match": "[A-Za-z_][\\w$]*", "captures": { "0": { "name": "variable.other.definition.spl" } } } ] }, "composite-type-def": { "begin": "(?=(?:static)?[A-Za-z_][\\w$]*)", "end": "(?=;)", "name": "meta.composite-type-def.spl", "patterns": [ { "include": "#tuple-type-body" }, { "include": "#code" }, { "match": "([A-Za-z_][\\w$]*)", "captures": { "1": { "name": "variable.other.definition.spl" } }, "contentName": "meta.type-def-head.spl" } ] }, "type-args": { "begin": "<", "beginCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "end": ">", "endCaptures": { "0": { "name": "punctuation.bracket.angle.spl" } }, "name": "meta.type-args.spl", "patterns": [ { "include": "#code" }, { "match": "(\\w\\w*)", "contentName": "meta.type-args-body.spl" } ] }, "configuration": { "begin": "([A-Za-z_][\\w$]*)\\s*:\\s*", "beginCaptures": { "1": { "name": "variable.other.definition.spl" } }, "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.spl" } }, "name": "meta.composite-body-config.configuration.spl", "patterns": [ { "include": "#code" } ] }, "op-invoke": { "begin": "(?=(?:stream|\\())", "end": "}", "endCaptures": { "0": { "name": "punctuation.section.op-invoke.end.bracket.curly.spl" } }, "name": "meta.op-invoke.spl", "patterns": [ { "include": "#perl" }, { "begin": "(?=(?:stream|\\())", "end": "(?=\\=)", "contentName": "meta.op-invoke.head.output.spl", "patterns": [ { "include": "#op-invoke-head" } ] }, { "begin": "(\\=)", "beginCaptures": { "1": { "name": "keyword.operator.assignment.spl" } }, "end": "(?={)", "contentName": "meta.op-invoke.head.input.spl", "patterns": [ { "include": "#perl" }, { "begin": "(?<=\\=)", "end": "(?=\\()", "patterns": [ { "match": "([A-Za-z_][\\w$]*)", "name": "entity.name.type.opID.spl" } ] }, { "begin": "\\(", "end": "\\)", "contentName": "meta.op-invoke-input.port.spl", "patterns": [ { "include": "#op-invoke-head" } ] }, { "include": "#comments" } ] }, { "begin": "{", "beginCaptures": { "0": { "name": "punctuation.section.op-invoke.begin.bracket.curly.spl" } }, "end": "(?=})", "endCaptures": { "0": { "name": "punctuation.section.op-invoke.end.bracket.curly.spl" } }, "contentName": "meta.op-invoke.body.spl", "patterns": [ { "include": "#op-invoke-body" } ] }, { "include": "#code" }, { "include": "#comments" } ] }, "op-invoke-head": { "patterns": [ { "include": "#perl" }, { "match": "(\\bstream\\b)", "name": "storage.modifier.spl" }, { "include": "#stream-type" }, { "match": "as", "name": "keyword.control.spl" }, { "match": "([A-Za-z_][\\w$]*)", "name": "entity.name.type.streamID.spl" }, { "include": "#comments" } ] }, "op-invoke-body": { "patterns": [ { "include": "#op-invoke-logic" }, { "include": "#op-invoke-window" }, { "include": "#op-invoke-param" }, { "include": "#op-invoke-output" }, { "include": "#op-invoke-config" }, { "include": "#configuration" }, { "include": "#code" } ] }, "op-invoke-logic": { "begin": "(?=logic)", "end": "(?=window|param|output|config|})", "name": "meta.op-invoke-logic.spl", "patterns": [ { "include": "#variable-definition" }, { "begin": "(?<=onProcess|onTuple|onPunct)", "end": "(?<=\\:)", "patterns": [ { "match": "([A-Za-z_][\\w$]*)", "name": "entity.name.type.streamID.spl" }, { "include": "#code" } ] }, { "include": "#code" } ] }, "op-invoke-window": { "begin": "(?=window)", "end": "(?=param|output|})", "name": "meta.op-invoke-window.spl", "patterns": [ { "include": "#op-invoke-window-body" }, { "include": "#code" } ] }, "op-invoke-window-body": { "begin": "([A-Za-z_][\\w$]*)\\s*:\\s*", "beginCaptures": { "1": { "name": "entity.name.type.streamID.spl" } }, "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.spl" } }, "name": "meta.op-invoke-window.body.spl", "patterns": [ { "include": "#code" } ] }, "op-invoke-param": { "begin": "(?=param)", "end": "(?=output|config|\\})", "name": "meta.op-invoke-param.spl", "patterns": [ { "include": "#op-invoke-actual" }, { "include": "#code" } ] }, "op-invoke-actual": { "begin": "([A-Za-z_][\\w$]*)\\s*:\\s*", "beginCaptures": { "1": { "name": "variable.other.definition.spl" } }, "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.spl" } }, "name": "meta.op-invoke-actual.spl", "patterns": [ { "match": "([A-Za-z_][\\w$]*)\\.(?:[A-Za-z_][\\w$]*)", "captures": { "1": { "name": "entity.name.type.streamID.spl" } } }, { "include": "#code" } ] }, "op-invoke-output": { "begin": "(?=output)", "end": "(?=config|})", "name": "meta.op-invoke-output.spl", "patterns": [ { "include": "#op-invoke-output-body" }, { "include": "#code" } ] }, "op-invoke-output-body": { "begin": "([A-Za-z_][\\w$]*)\\s*:", "beginCaptures": { "1": { "name": "entity.name.type.streamID.spl" } }, "end": ";", "endCaptures": { "0": { "name": "punctuation.separator.spl" } }, "name": "meta.op-invoke-output-body.spl", "patterns": [ { "begin": "([A-Za-z_][\\w$]*)\\s*=", "beginCaptures": { "1": { "name": "variable.other.definition.spl" } }, "end": "(?=,|;)", "patterns": [ { "match": "([A-Za-z_][\\w$]*)\\.(?:[A-Za-z_][\\w$]*)", "captures": { "1": { "name": "entity.name.type.streamID.spl" } } }, { "include": "#code" } ] }, { "include": "#code" } ] }, "op-invoke-config": { "begin": "(?=config)", "end": "(?=})", "name": "meta.op-invoke-config.spl", "patterns": [ { "include": "#configuration" }, { "include": "#code" } ] }, "numbers": { "patterns": [ { "match": "(?x)\\b(?<!\\$)0(x|X)((?<!\\.)[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?[Ll]?(?!\\.)|([0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?\\.?|([0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?)?\\.[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])?)[Pp][+-]?[0-9]([0-9_]*[0-9])?[FfDd]?)\\b(?!\\$)", "name": "constant.numeric.hex.spl" }, { "match": "\\b(?<!\\$)0(b|B)[01]([01_]*[01])?[Ll]?\\b(?!\\$)", "name": "constant.numeric.binary.spl" }, { "match": "\\b(?<!\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\b(?!\\$)", "name": "constant.numeric.octal.spl" }, { "match": "(?x)(?<!\\$)(\\b[0-9]([0-9_]*[0-9])?\\.\\B(?!\\.)|\\b[0-9]([0-9_]*[0-9])?\\.([Ee][+-]?[0-9]([0-9_]*[0-9])?)[FfDd]?\\b|\\b[0-9]([0-9_]*[0-9])?\\.([Ee][+-]?[0-9]([0-9_]*[0-9])?)?[FfDd]\\b|\\b[0-9]([0-9_]*[0-9])?\\.([0-9]([0-9_]*[0-9])?)([Ee][+-]?[0-9]([0-9_]*[0-9])?)?[FfDd]?\\b|\\b[0-9]([0-9_]*[0-9])?\\.([0-9]([0-9_]*[0-9])?)([Ee][+-]?[0-9]([0-9_]*[0-9])?)?[Ww]?\\b|(?<!\\.)\\B\\.[0-9]([0-9_]*[0-9])?([Ee][+-]?[0-9]([0-9_]*[0-9])?)?[FfDd]?\\b|\\b[0-9]([0-9_]*[0-9])?([Ee][+-]?[0-9]([0-9_]*[0-9])?)[FfDd]?\\b|\\b[0-9]([0-9_]*[0-9])?([Ee][+-]?[0-9]([0-9_]*[0-9])?)?[FfDd]\\b|\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\.)[Ll]?\\b|\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\.)[Uu]?[Ll]?\\b|\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\.)[Ww]?\\b)(?!\\$)", "name": "constant.numeric.decimal.spl" } ] }, "strings": { "patterns": [ { "begin": "\"", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.spl" } }, "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.spl" } }, "name": "string.quoted.double.spl", "patterns": [ { "match": "\\\\.", "name": "constant.character.spl" } ] }, { "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.spl" } }, "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.string.end.spl" } }, "name": "string.quoted.single.spl", "patterns": [ { "match": "\\\\.", "name": "constant.character.spl" } ] } ] }, "parens": { "patterns": [ { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.bracket.round.spl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.bracket.round.spl" } }, "patterns": [ { "include": "#code" } ] }, { "begin": "\\[", "beginCaptures": { "0": { "name": "punctuation.bracket.square.spl" } }, "end": "\\]", "endCaptures": { "0": { "name": "punctuation.bracket.square.spl" } }, "patterns": [ { "include": "#code" } ] }, { "begin": "{", "beginCaptures": { "0": { "name": "punctuation.bracket.curly.spl" } }, "end": "}", "endCaptures": { "0": { "name": "punctuation.bracket.curly.spl" } }, "patterns": [ { "include": "#code" } ] } ] }, "annotations": { "patterns": [ { "begin": "(@\\b(?:catch|consistent|eventTime|parallel|spl_category|spl_note|spl_tag|spl__[a-z|A-Z]+|threading|view|service|endpoint)\\b)", "beginCaptures": { "0": { "name": "keyword.control.spl" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.annotation.end.bracket.round.spl" } }, "name": "meta.annotations.spl", "patterns": [ { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.annotation.begin.bracket.round.spl" } }, "end": "(?=\\))", "contentName": "meta.annotation-body.spl", "patterns": [ { "include": "#code" } ] }, { "include": "#code" } ] }, { "match": "@autonomous", "name": "meta.annotations.spl" } ] } } }