grammars/source.mcfunction.json in github-linguist-7.11.1 vs grammars/source.mcfunction.json in github-linguist-7.12.0
- old
+ new
@@ -1,1354 +2 @@
-{
- "name": "mcfunction",
- "scopeName": "source.mcfunction",
- "patterns": [
- {
- "include": "#comment"
- },
- {
- "include": "#command"
- },
- {
- "include": "#unknown"
- }
- ],
- "repository": {
- "block_predicate": {
- "patterns": [
- {
- "match": "(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- },
- "4": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- {
- "match": "([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- {
- "match": "([a-z0-9_\\.\\-\\/]+)",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- {
- "begin": "(\\[)",
- "end": "(\\])",
- "patterns": [
- {
- "include": "#block_predicate.arguments"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "begin": "(\\{)",
- "end": "(\\})",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- }
- ]
- },
- "block_predicate.argument.boolean": {
- "name": "meta.block_predicate.argument.boolean.mcfunction",
- "match": "(true|false)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "block_predicate.argument.literal": {
- "name": "meta.block_predicate.argument.literal.mcfunction",
- "match": "([a-z_][a-z0-9_]*)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "entity.name.mcfunction"
- }
- }
- },
- "block_predicate.argument.number": {
- "name": "meta.block_predicate.argument.number.mcfunction",
- "match": "(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "block_predicate.arguments": {
- "patterns": [
- {
- "name": "meta.block_predicate.argument_spacing.mcfunction",
- "match": " +"
- },
- {
- "name": "meta.block_predicate.argument.mcfunction",
- "begin": "([a-z_][a-z0-9_]*) *(\\=) *",
- "end": "(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])",
- "patterns": [
- {
- "include": "#block_predicate.argument.number"
- },
- {
- "include": "#block_predicate.argument.boolean"
- },
- {
- "include": "#block_predicate.argument.literal"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.other.mcfunction"
- },
- "2": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- },
- "2": {
- "name": "variable.language.mcfunction"
- }
- }
- }
- ]
- },
- "command": {
- "patterns": [
- {
- "name": "meta.command.mcfunction",
- "begin": "^\\s*([a-z_][a-z0-9_]*)[ \\n]",
- "end": "$",
- "patterns": [
- {
- "contentName": "meta.command.token.mcfunction",
- "begin": "(?\u003c= )",
- "end": "[ \\n]",
- "patterns": [
- {
- "include": "#command.tokens"
- }
- ]
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "keyword.control.mcfunction"
- }
- }
- }
- ]
- },
- "command.token.block_predicate": {
- "name": "meta.command.token.block_predicate.mcfunction",
- "begin": "(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(\\[|\\{))",
- "end": "(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)",
- "patterns": [
- {
- "include": "#block_predicate"
- }
- ],
- "endCaptures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.block_predicate_without_namespace": {
- "name": "meta.command.token.block_predicate_without_namespace.mcfunction",
- "begin": "(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-\\/]+)(\\[ *([a-z_][a-z0-9_]*) *\\=))",
- "end": "(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)",
- "patterns": [
- {
- "include": "#block_predicate"
- }
- ],
- "endCaptures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.boolean": {
- "name": "meta.command.token.boolean.mcfunction",
- "match": "(?\u003c= )(true|false)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "command.token.coordinate": {
- "name": "meta.command.token.coordinate.mcfunction",
- "match": "(?\u003c= )([\\~\\^])(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- },
- "2": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "command.token.fakeplayer": {
- "name": "meta.command.token.fakeplayer.mcfunction",
- "match": "(?\u003c= )([\\#\\$\\%]\\S+)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "support.class.mcfunction"
- }
- }
- },
- "command.token.greedy_parent": {
- "name": "meta.command.token.greedy_parent.mcfunction",
- "match": "((?\u003c=^say | say ))(.*)$",
- "captures": {
- "1": {
- "name": "entity.name.mcfunction"
- },
- "2": {
- "name": "string.quoted.mcfunction"
- }
- }
- },
- "command.token.literal": {
- "name": "meta.command.token.literal.mcfunction",
- "match": "(?\u003c= )([a-z_][a-z0-9_]*)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "entity.name.mcfunction"
- }
- }
- },
- "command.token.nbt_compound": {
- "name": "meta.command.token.nbt_compound.mcfunction",
- "begin": "(?\u003c= )(\\{)",
- "end": "(?=\\n)|(\\})([^ \\n]*)",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.nbt_list": {
- "name": "meta.command.token.nbt_list.mcfunction",
- "begin": "(?\u003c= )(\\[)",
- "end": "(?=\\n)|(\\])([^ \\n]*)",
- "patterns": [
- {
- "include": "#nbt.list"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.nbt_path": {
- "name": "meta.command.token.nbt_path.mcfunction",
- "begin": "(?\u003c= )(?=\\w+[\\.\\[\\{])",
- "end": "(?=[ \\n]|$)",
- "patterns": [
- {
- "include": "#nbt_path.property"
- }
- ]
- },
- "command.token.number": {
- "name": "meta.command.token.number.mcfunction",
- "match": "(?\u003c= )(\\-?\\d*\\.?\\d+)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "command.token.operation": {
- "name": "meta.command.token.operation.mcfunction",
- "match": "(?\u003c= )(\\%\\=|\\*\\=|\\+\\=|\\-\\=|\\/\\=|\\\u003c|\\=|\\\u003e|\\\u003e\\\u003c|\\\u003c\\=|\\\u003e\\=)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "command.token.quoted_string": {
- "name": "meta.command.token.quoted_string.mcfunction",
- "begin": "(?\u003c= )(\\\")",
- "end": "(?=\\n)|(\\\")([^ \\n]*)",
- "patterns": [
- {
- "include": "#common.quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.range": {
- "name": "meta.command.token.range.mcfunction",
- "match": "(?\u003c= )(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- },
- "2": {
- "name": "keyword.control.mcfunction"
- },
- "3": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "command.token.resource_location": {
- "name": "meta.command.token.resource_location.mcfunction",
- "match": "(?\u003c= )([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- "command.token.root_redirect": {
- "name": "meta.command.token.root_redirect.mcfunction",
- "match": "(?\u003c= )(run) ([a-z_][a-z0-9_]*)?(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "entity.name.mcfunction"
- },
- "2": {
- "name": "keyword.control.mcfunction"
- }
- }
- },
- "command.token.selector_with_arguments": {
- "name": "meta.command.token.selector_with_arguments.mcfunction",
- "begin": "(?\u003c= )(\\@[a-z])(\\[)",
- "end": "(?=\\n)|(\\])([^ \\n]*)",
- "patterns": [
- {
- "name": "meta.selector.argument_spacing.mcfunction",
- "match": " +"
- },
- {
- "name": "meta.selector.argument.mcfunction",
- "begin": "([a-z_][a-z0-9_]*) *(\\=) *(\\!)? *",
- "end": "( *\\,)(?=[\\]\\n])|( *\\,)|(?= *[\\]\\n])",
- "patterns": [
- {
- "include": "#selector.argument.resource_location"
- },
- {
- "include": "#selector.argument.tagged_resource_location"
- },
- {
- "include": "#selector.argument.range"
- },
- {
- "include": "#selector.argument.number"
- },
- {
- "include": "#selector.argument.boolean"
- },
- {
- "include": "#selector.argument.property_map"
- },
- {
- "include": "#selector.argument.nbt_compound"
- },
- {
- "include": "#selector.argument.quoted_string"
- },
- {
- "include": "#selector.argument.single_quoted_string"
- },
- {
- "include": "#selector.argument.unquoted_string"
- },
- {
- "include": "#selector.argument.unknown"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.other.mcfunction"
- },
- "2": {
- "name": "support.class.mcfunction"
- },
- "3": {
- "name": "keyword.control.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- },
- "2": {
- "name": "support.class.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\]\\n]+"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "support.class.mcfunction"
- },
- "2": {
- "name": "support.class.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "support.class.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.selector_without_arguments": {
- "name": "meta.command.token.selector_without_arguments.mcfunction",
- "match": "(?\u003c= )(\\@[a-z])(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "support.class.mcfunction"
- }
- }
- },
- "command.token.single_quoted_string": {
- "name": "meta.command.token.single_quoted_string.mcfunction",
- "begin": "(?\u003c= )(\\')",
- "end": "(?=\\n)|(\\')([^ \\n]*)",
- "patterns": [
- {
- "include": "#common.single_quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.tagged_resource_location": {
- "name": "meta.command.token.tagged_resource_location.mcfunction",
- "match": "(?\u003c= )(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- },
- "4": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- "command.token.unknown": {
- "name": "meta.command.token.unknown.mcfunction",
- "match": "(?\u003c= )([^ \\n]*)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "command.token.unquoted_string": {
- "name": "meta.command.token.unquoted_string.mcfunction",
- "match": "(?\u003c= )(\\S+)(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "string.unquoted.mcfunction"
- }
- }
- },
- "command.token.uuid": {
- "name": "meta.command.token.uuid.mcfunction",
- "match": "(?\u003c= )([0-9a-fA-F]+(?:(-)[0-9a-fA-F]+){4})(?=[ \\n]|$)",
- "captures": {
- "1": {
- "name": "support.class.mcfunction"
- }
- }
- },
- "command.tokens": {
- "patterns": [
- {
- "include": "#command.token.nbt_compound"
- },
- {
- "include": "#command.token.nbt_list"
- },
- {
- "include": "#command.token.selector_with_arguments"
- },
- {
- "include": "#command.token.selector_without_arguments"
- },
- {
- "include": "#command.token.block_predicate"
- },
- {
- "include": "#command.token.block_predicate_without_namespace"
- },
- {
- "include": "#command.token.resource_location"
- },
- {
- "include": "#command.token.tagged_resource_location"
- },
- {
- "include": "#command.token.range"
- },
- {
- "include": "#command.token.number"
- },
- {
- "include": "#command.token.coordinate"
- },
- {
- "include": "#command.token.boolean"
- },
- {
- "include": "#command.token.operation"
- },
- {
- "include": "#command.token.root_redirect"
- },
- {
- "include": "#command.token.greedy_parent"
- },
- {
- "include": "#command.token.literal"
- },
- {
- "include": "#command.token.uuid"
- },
- {
- "include": "#command.token.fakeplayer"
- },
- {
- "include": "#command.token.nbt_path"
- },
- {
- "include": "#command.token.quoted_string"
- },
- {
- "include": "#command.token.single_quoted_string"
- },
- {
- "include": "#command.token.unquoted_string"
- },
- {
- "include": "#command.token.unknown"
- }
- ]
- },
- "comment": {
- "patterns": [
- {
- "name": "meta.comment.block.mcfunction",
- "begin": "^[ \\t]*((#)(\u003e)((.*)))$",
- "end": "^(?![ \\t]*#)",
- "patterns": [
- {
- "include": "#comment.block"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "comment.block.mcfunction"
- },
- "2": {
- "name": "markup.list.mcfunction"
- },
- "3": {
- "name": "markup.list.mcfunction"
- },
- "4": {
- "name": "markup.bold.mcfunction"
- },
- "5": {
- "name": "markup.list.mcfunction"
- }
- }
- },
- {
- "name": "meta.comment.line.mcfunction",
- "match": "^[ \\t]*(#.*)$",
- "captures": {
- "1": {
- "name": "comment.line.mcfunction"
- }
- }
- }
- ]
- },
- "comment.block": {
- "patterns": [
- {
- "name": "meta.comment.block_line.mcfunction",
- "begin": "^[ \\t]*((#)[ \\t]*)",
- "end": "$",
- "patterns": [
- {
- "include": "#comment.block.line"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "comment.block.mcfunction"
- },
- "2": {
- "name": "markup.list.mcfunction"
- }
- }
- }
- ]
- },
- "comment.block.line": {
- "patterns": [
- {
- "name": "meta.comment.block.annotation.mcfunction",
- "match": "((\\@\\w*)\\b(.*))$",
- "captures": {
- "1": {
- "name": "comment.block.mcfunction"
- },
- "2": {
- "name": "markup.heading.mcfunction"
- },
- "3": {
- "name": "comment.block.mcfunction"
- }
- }
- },
- {
- "name": "meta.comment.block.heading.mcfunction",
- "match": "((\u003e)((.*)))$",
- "captures": {
- "1": {
- "name": "comment.block.mcfunction"
- },
- "2": {
- "name": "markup.list.mcfunction"
- },
- "3": {
- "name": "markup.bold.mcfunction"
- },
- "4": {
- "name": "markup.list.mcfunction"
- }
- }
- },
- {
- "name": "meta.comment.block.text.mcfunction",
- "match": "(.*)$",
- "captures": {
- "1": {
- "name": "comment.block.mcfunction"
- }
- }
- }
- ]
- },
- "common.quoted_string": {
- "patterns": [
- {
- "name": "string.quoted.mcfunction",
- "match": "[^\\\\\\\"\\n]"
- },
- {
- "name": "constant.character.escape.mcfunction",
- "match": "\\\\[^\\n]"
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "\\\\"
- }
- ]
- },
- "common.single_quoted_string": {
- "patterns": [
- {
- "name": "string.quoted.mcfunction",
- "match": "[^\\\\\\'\\n]"
- },
- {
- "name": "constant.character.escape.mcfunction",
- "match": "\\\\[^\\n]"
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "\\\\"
- }
- ]
- },
- "nbt.compound": {
- "patterns": [
- {
- "match": " +"
- },
- {
- "begin": "(,)? *([A-Za-z0-9_\\.\\-]+|\\\"[^\\n\\\"]+\\\") *(\\:) *",
- "end": " *(?=[\\n\\}\\,])",
- "patterns": [
- {
- "include": "#nbt.value"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "string.interpolated.mcfunction"
- },
- "3": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\n\\}\\,]+"
- }
- ]
- },
- "nbt.list": {
- "patterns": [
- {
- "match": " +"
- },
- {
- "begin": "(,)? *(?=[^\\n\\]\\,])",
- "end": " *(?=[\\n\\]\\,])",
- "patterns": [
- {
- "include": "#nbt.value"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\n\\]\\,]+"
- }
- ]
- },
- "nbt.value": {
- "patterns": [
- {
- "begin": "(\\{)",
- "end": "(?=\\n)|(\\})",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "begin": "(\\[)",
- "end": "(?=\\n)|(\\])",
- "patterns": [
- {
- "include": "#nbt.list"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "begin": "(\\\")",
- "end": "(?=\\n)|(\\\")",
- "patterns": [
- {
- "include": "#common.quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- }
- },
- {
- "begin": "(\\')",
- "end": "(?=\\n)|(\\')",
- "patterns": [
- {
- "include": "#common.single_quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- }
- },
- {
- "name": "constant.numeric.mcfunction",
- "match": "(true|false)"
- },
- {
- "name": "constant.numeric.mcfunction",
- "match": "(\\-?\\d*\\.?\\d+)"
- },
- {
- "name": "string.unquoted.mcfunction",
- "match": "([^\\s\\{\\}\\[\\]\\,\\:\\=]+)"
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\n\\,\\]\\}]+"
- }
- ]
- },
- "nbt_path.index": {
- "patterns": [
- {
- "match": "(?\u003c=\\[)(\\-?\\d+)(?=\\])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- {
- "begin": "(\\{)",
- "end": "(?=\\n)|(\\})([^\\]\\,\\n]*)",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\n\\]]+"
- }
- ]
- },
- "nbt_path.property": {
- "patterns": [
- {
- "begin": "(\\.)?(\\w+)?(\\[)",
- "end": "(\\])|(?=\\n)",
- "patterns": [
- {
- "include": "#nbt_path.index"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "string.interpolated.mcfunction"
- },
- "3": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "begin": "(\\.)?(\\w+)(\\{)",
- "end": "(\\})|(?=\\n)",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "string.interpolated.mcfunction"
- },
- "3": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "match": "(\\.)?(\\w+)",
- "captures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "string.interpolated.mcfunction"
- }
- }
- },
- {
- "match": "(\\.)(?=\\.)",
- "captures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\.\\s]+"
- }
- ]
- },
- "property_map": {
- "patterns": [
- {
- "match": " +"
- },
- {
- "begin": "(,)? *([A-Za-z0-9_\\.\\-]+) *(\\=) *",
- "end": " *(?=[\\n\\}\\,])",
- "patterns": [
- {
- "include": "#property_map.values"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "begin": "(,)? *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+) *(\\=) *",
- "end": " *(?=[\\n\\}\\,])",
- "patterns": [
- {
- "include": "#property_map.values"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "variable.language.mcfunction"
- }
- }
- },
- {
- "name": "invalid.illegal.mcfunction",
- "match": "[^\\n\\}\\,]+"
- }
- ]
- },
- "property_map.values": {
- "patterns": [
- {
- "match": "(true|false)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- {
- "match": "(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- },
- "2": {
- "name": "keyword.control.mcfunction"
- },
- "3": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- {
- "match": "(\\-?\\d*\\.?\\d+)",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- {
- "begin": "(\\{) *",
- "end": "(?=\\n)|(\\}) *([^\\}\\,\\n]*)",
- "patterns": [
- {
- "include": "#property_map"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- }
- ]
- },
- "selector.argument.boolean": {
- "name": "meta.selector.argument.boolean.mcfunction",
- "match": "(true|false)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "selector.argument.nbt_compound": {
- "name": "meta.selector.argument.nbt_compound.mcfunction",
- "begin": "(\\{)",
- "end": "(?=\\n)|(\\}) *([^\\]\\,\\n]*)",
- "patterns": [
- {
- "include": "#nbt.compound"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "selector.argument.number": {
- "name": "meta.selector.argument.number.mcfunction",
- "match": "(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "selector.argument.property_map": {
- "name": "meta.selector.argument.property_map.mcfunction",
- "begin": "(\\{)(?= *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+|([A-Za-z0-9_\\.\\-]+)) *(\\=))",
- "end": "(?=\\n)|(\\}) *([^\\]\\,\\n]*)",
- "patterns": [
- {
- "include": "#property_map"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "variable.language.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "selector.argument.quoted_string": {
- "name": "meta.selector.argument.quoted_string.mcfunction",
- "begin": "(\\\")",
- "end": "(?=\\n)|(\\\") *([^\\]\\,\\n]*)",
- "patterns": [
- {
- "include": "#common.quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "selector.argument.range": {
- "name": "meta.selector.argument.range.mcfunction",
- "match": "(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "constant.numeric.mcfunction"
- },
- "2": {
- "name": "keyword.control.mcfunction"
- },
- "3": {
- "name": "constant.numeric.mcfunction"
- }
- }
- },
- "selector.argument.resource_location": {
- "name": "meta.selector.argument.resource_location.mcfunction",
- "match": "([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- "selector.argument.single_quoted_string": {
- "name": "meta.selector.argument.single_quoted_string.mcfunction",
- "begin": "(\\')",
- "end": "(?=\\n)|(\\') *([^\\]\\,\\n]*)",
- "patterns": [
- {
- "include": "#common.single_quoted_string"
- }
- ],
- "beginCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- }
- },
- "endCaptures": {
- "1": {
- "name": "string.quoted.mcfunction"
- },
- "2": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "selector.argument.tagged_resource_location": {
- "name": "meta.selector.argument.tagged_resource_location.mcfunction",
- "match": "(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "entity.name.function.mcfunction"
- },
- "2": {
- "name": "entity.name.function.mcfunction"
- },
- "3": {
- "name": "entity.name.function.mcfunction"
- },
- "4": {
- "name": "entity.name.function.mcfunction"
- }
- }
- },
- "selector.argument.unknown": {
- "name": "meta.selector.argument.unknown.mcfunction",
- "match": "([^\\]\\n\\,]+)",
- "captures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- },
- "selector.argument.unquoted_string": {
- "name": "meta.selector.argument.unquoted_string.mcfunction",
- "match": "([^\\s\\{\\}\\[\\]\\,\\:\\=\\!]+)(?= *[\\,\\]\\n])",
- "captures": {
- "1": {
- "name": "string.unquoted.mcfunction"
- }
- }
- },
- "unknown": {
- "patterns": [
- {
- "name": "meta.unknown.mcfunction",
- "match": "^(.*)$",
- "captures": {
- "1": {
- "name": "invalid.illegal.mcfunction"
- }
- }
- }
- ]
- }
- }
-}
+{"name":"mcfunction","scopeName":"source.mcfunction","patterns":[{"include":"#comment"},{"include":"#command"},{"include":"#unknown"}],"repository":{"block_predicate":{"patterns":[{"match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},{"match":"([a-z0-9_\\.\\-\\/]+)","captures":{"1":{"name":"entity.name.function.mcfunction"}}},{"begin":"(\\[)","end":"(\\])","patterns":[{"include":"#block_predicate.arguments"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}}]},"block_predicate.argument.boolean":{"name":"meta.block_predicate.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.argument.literal":{"name":"meta.block_predicate.argument.literal.mcfunction","match":"([a-z_][a-z0-9_]*)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.mcfunction"}}},"block_predicate.argument.number":{"name":"meta.block_predicate.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"block_predicate.arguments":{"patterns":[{"name":"meta.block_predicate.argument_spacing.mcfunction","match":" +"},{"name":"meta.block_predicate.argument.mcfunction","begin":"([a-z_][a-z0-9_]*) *(\\=) *","end":"(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])","patterns":[{"include":"#block_predicate.argument.number"},{"include":"#block_predicate.argument.boolean"},{"include":"#block_predicate.argument.literal"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"variable.language.mcfunction"}}}]},"command":{"patterns":[{"name":"meta.command.mcfunction","begin":"^\\s*([a-z_][a-z0-9_]*)[ \\n]","end":"$","patterns":[{"contentName":"meta.command.token.mcfunction","begin":"(?\u003c= )","end":"[ \\n]","patterns":[{"include":"#command.tokens"}]}],"beginCaptures":{"1":{"name":"keyword.control.mcfunction"}}}]},"command.token.block_predicate":{"name":"meta.command.token.block_predicate.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(\\[|\\{))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.block_predicate_without_namespace":{"name":"meta.command.token.block_predicate_without_namespace.mcfunction","begin":"(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-\\/]+)(\\[ *([a-z_][a-z0-9_]*) *\\=))","end":"(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)","patterns":[{"include":"#block_predicate"}],"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.boolean":{"name":"meta.command.token.boolean.mcfunction","match":"(?\u003c= )(true|false)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.coordinate":{"name":"meta.command.token.coordinate.mcfunction","match":"(?\u003c= )([\\~\\^])(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"constant.numeric.mcfunction"}}},"command.token.fakeplayer":{"name":"meta.command.token.fakeplayer.mcfunction","match":"(?\u003c= )([\\#\\$\\%]\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.greedy_parent":{"name":"meta.command.token.greedy_parent.mcfunction","match":"((?\u003c=^say | say ))(.*)$","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"string.quoted.mcfunction"}}},"command.token.literal":{"name":"meta.command.token.literal.mcfunction","match":"(?\u003c= )([a-z_][a-z0-9_]*)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"}}},"command.token.nbt_compound":{"name":"meta.command.token.nbt_compound.mcfunction","begin":"(?\u003c= )(\\{)","end":"(?=\\n)|(\\})([^ \\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_list":{"name":"meta.command.token.nbt_list.mcfunction","begin":"(?\u003c= )(\\[)(\\w*;)?","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.nbt_path":{"name":"meta.command.token.nbt_path.mcfunction","begin":"(?\u003c= )(?=\\w+[\\.\\[\\{])","end":"(?=[ \\n]|$)","patterns":[{"include":"#nbt_path.property"}]},"command.token.number":{"name":"meta.command.token.number.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.operation":{"name":"meta.command.token.operation.mcfunction","match":"(?\u003c= )(\\%\\=|\\*\\=|\\+\\=|\\-\\=|\\/\\=|\\\u003c|\\=|\\\u003e|\\\u003e\\\u003c|\\\u003c\\=|\\\u003e\\=)(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"command.token.quoted_string":{"name":"meta.command.token.quoted_string.mcfunction","begin":"(?\u003c= )(\\\")","end":"(?=\\n)|(\\\")([^ \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.range":{"name":"meta.command.token.range.mcfunction","match":"(?\u003c= )(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?=[ \\n]|$)","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"command.token.resource_location":{"name":"meta.command.token.resource_location.mcfunction","match":"(?\u003c= )([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"command.token.root_redirect":{"name":"meta.command.token.root_redirect.mcfunction","match":"(?\u003c= )(run) ([a-z_][a-z0-9_]*)?(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"keyword.control.mcfunction"}}},"command.token.selector_with_arguments":{"name":"meta.command.token.selector_with_arguments.mcfunction","begin":"(?\u003c= )(\\@[a-z])(\\[)","end":"(?=\\n)|(\\])([^ \\n]*)","patterns":[{"name":"meta.selector.argument_spacing.mcfunction","match":" +"},{"name":"meta.selector.argument.mcfunction","begin":"((?:[a-z_][a-z0-9_]*)|(?:\"[^\"\n]*\")|(?:\\'[^\\'\n]*\\')) *(\\=) *(\\!)? *","end":"( *\\,)(?=[\\]\\n])|( *\\,)|(?= *[\\]\\n])","patterns":[{"include":"#selector.argument.resource_location"},{"include":"#selector.argument.tagged_resource_location"},{"include":"#selector.argument.range"},{"include":"#selector.argument.number"},{"include":"#selector.argument.boolean"},{"include":"#selector.argument.property_map"},{"include":"#selector.argument.nbt_compound"},{"include":"#selector.argument.quoted_string"},{"include":"#selector.argument.single_quoted_string"},{"include":"#selector.argument.unquoted_string"},{"include":"#selector.argument.unknown"}],"beginCaptures":{"1":{"name":"variable.other.mcfunction"},"2":{"name":"support.class.mcfunction"},"3":{"name":"keyword.control.mcfunction"}},"endCaptures":{"1":{"name":"invalid.illegal.mcfunction"},"2":{"name":"support.class.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\]\\n]+"}],"beginCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"support.class.mcfunction"}},"endCaptures":{"1":{"name":"support.class.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.selector_without_arguments":{"name":"meta.command.token.selector_without_arguments.mcfunction","match":"(?\u003c= )(\\@[a-z])(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.token.single_quoted_string":{"name":"meta.command.token.single_quoted_string.mcfunction","begin":"(?\u003c= )(\\')","end":"(?=\\n)|(\\')([^ \\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"command.token.tagged_resource_location":{"name":"meta.command.token.tagged_resource_location.mcfunction","match":"(?\u003c= )(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n]|$)","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"command.token.unknown":{"name":"meta.command.token.unknown.mcfunction","match":"(?\u003c= )([^ \\n]*)(?=[ \\n]|$)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"command.token.unquoted_string":{"name":"meta.command.token.unquoted_string.mcfunction","match":"(?\u003c= )(\\S+)(?=[ \\n]|$)","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"command.token.uuid":{"name":"meta.command.token.uuid.mcfunction","match":"(?\u003c= )([0-9a-fA-F]+(?:(-)[0-9a-fA-F]+){4})(?=[ \\n]|$)","captures":{"1":{"name":"support.class.mcfunction"}}},"command.tokens":{"patterns":[{"include":"#command.token.nbt_compound"},{"include":"#command.token.nbt_list"},{"include":"#command.token.selector_with_arguments"},{"include":"#command.token.selector_without_arguments"},{"include":"#command.token.block_predicate"},{"include":"#command.token.block_predicate_without_namespace"},{"include":"#command.token.resource_location"},{"include":"#command.token.tagged_resource_location"},{"include":"#command.token.range"},{"include":"#command.token.number"},{"include":"#command.token.coordinate"},{"include":"#command.token.boolean"},{"include":"#command.token.operation"},{"include":"#command.token.root_redirect"},{"include":"#command.token.greedy_parent"},{"include":"#command.token.literal"},{"include":"#command.token.uuid"},{"include":"#command.token.fakeplayer"},{"include":"#command.token.nbt_path"},{"include":"#command.token.quoted_string"},{"include":"#command.token.single_quoted_string"},{"include":"#command.token.unquoted_string"},{"include":"#command.token.unknown"}]},"comment":{"patterns":[{"name":"meta.comment.block.mcfunction","begin":"^[ \\t]*((#)(\u003e)((.*)))$","end":"^(?![ \\t]*#)","patterns":[{"include":"#comment.block"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.list.mcfunction"},"4":{"name":"markup.bold.mcfunction"},"5":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.line.mcfunction","match":"^[ \\t]*(#.*)$","captures":{"1":{"name":"comment.line.mcfunction"}}}]},"comment.block":{"patterns":[{"name":"meta.comment.block_line.mcfunction","begin":"^[ \\t]*((#)[ \\t]*)","end":"$","patterns":[{"include":"#comment.block.line"}],"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"}}}]},"comment.block.line":{"patterns":[{"name":"meta.comment.block.annotation.mcfunction","match":"((\\@\\w*)\\b(.*))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.heading.mcfunction"},"3":{"name":"comment.block.mcfunction"}}},{"name":"meta.comment.block.heading.mcfunction","match":"((\u003e)((.*)))$","captures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.list.mcfunction"},"3":{"name":"markup.bold.mcfunction"},"4":{"name":"markup.list.mcfunction"}}},{"name":"meta.comment.block.text.mcfunction","match":"(.*)$","captures":{"1":{"name":"comment.block.mcfunction"}}}]},"common.quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\\"\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"common.single_quoted_string":{"patterns":[{"name":"string.quoted.mcfunction","match":"[^\\\\\\'\\n]"},{"name":"constant.character.escape.mcfunction","match":"\\\\[^\\n]"},{"name":"invalid.illegal.mcfunction","match":"\\\\"}]},"nbt.compound":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+|\\\"[^\\n\\\"]+\\\") *(\\:) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"nbt.list":{"patterns":[{"match":" +"},{"begin":"(,)? *(?=[^\\n\\]\\,])","end":" *(?=[\\n\\]\\,])","patterns":[{"include":"#nbt.value"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]\\,]+"}]},"nbt.value":{"patterns":[{"begin":"(\\{)","end":"(?=\\n)|(\\})","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\[)(\\w*;)?","end":"(?=\\n)|(\\])","patterns":[{"include":"#nbt.list"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"begin":"(\\')","end":"(?=\\n)|(\\')","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"}}},{"name":"constant.numeric.mcfunction","match":"(true|false)"},{"name":"constant.numeric.mcfunction","match":"(\\-?\\d*\\.?\\d+)"},{"name":"string.unquoted.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=]+)"},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\,\\]\\}]+"}]},"nbt_path.index":{"patterns":[{"match":"(?\u003c=\\[)(\\-?\\d+)(?=\\])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{)","end":"(?=\\n)|(\\})([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\]]+"}]},"nbt_path.property":{"patterns":[{"begin":"(\\.)?(\\w+)?(\\[)","end":"(\\])|(?=\\n)","patterns":[{"include":"#nbt_path.index"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\.)?(\\w+)(\\{)","end":"(\\})|(?=\\n)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"},"3":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"}}},{"begin":"(\\\")","end":"(?=\\n)|(\\\")([^\\. \\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},{"match":"(\\.)?(\\w+)","captures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"string.interpolated.mcfunction"}}},{"match":"(\\.)(?=\\.)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\.\\s]+"}]},"property_map":{"patterns":[{"match":" +"},{"begin":"(,)? *([A-Za-z0-9_\\.\\-]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"begin":"(,)? *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+) *(\\=) *","end":" *(?=[\\n\\}\\,])","patterns":[{"include":"#property_map.values"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"variable.language.mcfunction"}}},{"name":"invalid.illegal.mcfunction","match":"[^\\n\\}\\,]+"}]},"property_map.values":{"patterns":[{"match":"(true|false)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},{"match":"(\\-?\\d*\\.?\\d+)","captures":{"1":{"name":"constant.numeric.mcfunction"}}},{"begin":"(\\{) *","end":"(?=\\n)|(\\}) *([^\\}\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}}]},"selector.argument.boolean":{"name":"meta.selector.argument.boolean.mcfunction","match":"(true|false)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.nbt_compound":{"name":"meta.selector.argument.nbt_compound.mcfunction","begin":"(\\{)","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#nbt.compound"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.number":{"name":"meta.selector.argument.number.mcfunction","match":"(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"}}},"selector.argument.property_map":{"name":"meta.selector.argument.property_map.mcfunction","begin":"(\\{)(?= *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+|([A-Za-z0-9_\\.\\-]+)) *(\\=))","end":"(?=\\n)|(\\}) *([^\\]\\,\\n]*)","patterns":[{"include":"#property_map"}],"beginCaptures":{"1":{"name":"variable.language.mcfunction"}},"endCaptures":{"1":{"name":"variable.language.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.quoted_string":{"name":"meta.selector.argument.quoted_string.mcfunction","begin":"(\\\")","end":"(?=\\n)|(\\\") *([^\\]\\,\\n]*)","patterns":[{"include":"#common.quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.range":{"name":"meta.selector.argument.range.mcfunction","match":"(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?= *[\\,\\]\\n])","captures":{"1":{"name":"constant.numeric.mcfunction"},"2":{"name":"keyword.control.mcfunction"},"3":{"name":"constant.numeric.mcfunction"}}},"selector.argument.resource_location":{"name":"meta.selector.argument.resource_location.mcfunction","match":"([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"}}},"selector.argument.single_quoted_string":{"name":"meta.selector.argument.single_quoted_string.mcfunction","begin":"(\\')","end":"(?=\\n)|(\\') *([^\\]\\,\\n]*)","patterns":[{"include":"#common.single_quoted_string"}],"beginCaptures":{"1":{"name":"string.quoted.mcfunction"}},"endCaptures":{"1":{"name":"string.quoted.mcfunction"},"2":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.tagged_resource_location":{"name":"meta.selector.argument.tagged_resource_location.mcfunction","match":"(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"entity.name.function.mcfunction"},"2":{"name":"entity.name.function.mcfunction"},"3":{"name":"entity.name.function.mcfunction"},"4":{"name":"entity.name.function.mcfunction"}}},"selector.argument.unknown":{"name":"meta.selector.argument.unknown.mcfunction","match":"([^\\]\\n\\,]+)","captures":{"1":{"name":"invalid.illegal.mcfunction"}}},"selector.argument.unquoted_string":{"name":"meta.selector.argument.unquoted_string.mcfunction","match":"([^\\s\\{\\}\\[\\]\\,\\:\\=\\!]+)(?= *[\\,\\]\\n])","captures":{"1":{"name":"string.unquoted.mcfunction"}}},"unknown":{"patterns":[{"name":"meta.unknown.mcfunction","match":"^(.*)$","captures":{"1":{"name":"invalid.illegal.mcfunction"}}}]}}}