{"name":"Syntax Mcfunction","scopeName":"source.mcfunction","patterns":[{"include":"#root"}],"repository":{"comments":{"patterns":[{"name":"meta.comments","begin":"^\\s*(#[\u003e!#])(.+)$","end":"^(?!#)","patterns":[{"include":"#comments_block"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"beginCaptures":{"1":{"name":"comment.block.mcfunction"},"2":{"name":"markup.bold.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.comments","match":"^\\s*#.*$","captures":{"0":{"name":"comment.line.mcfunction"}}}]},"comments_block":{"patterns":[{"name":"meta.comments_block","begin":"^\\s*#[\u003e!]","end":"$","patterns":[{"include":"#comments_block_emphasized"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.comments_block","begin":"^\\s*#","end":"$","patterns":[{"include":"#comments_block_normal"}],"captures":{"0":{"name":"comment.block.mcfunction"}},"applyEndPatternLast":true}]},"comments_block_emphasized":{"patterns":[{"include":"#comments_block_special"},{"name":"meta.comments_block_emphasized","match":"\\S+","captures":{"0":{"name":"markup.bold.mcfunction"}}}]},"comments_block_normal":{"patterns":[{"include":"#comments_block_special"},{"name":"meta.comments_block_normal","match":"\\S+","captures":{"0":{"name":"comment.block.mcfunction"}}},{"include":"#whitespace"}]},"comments_block_special":{"patterns":[{"name":"meta.comments_block_special","match":"@\\S+","captures":{"0":{"name":"markup.heading.mcfunction"}}},{"include":"#resource-name"},{"name":"meta.comments_block_special","match":"[#%$][A-Za-z0-9_.#%$]+","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"comments_inline":{"patterns":[{"name":"meta.comments","match":"#.*$","captures":{"0":{"name":"comment.line.mcfunction"}}}]},"literals":{"patterns":[{"name":"meta.literals","match":"\\b(true|false|True|False)\\b","captures":{"0":{"name":"constant.numeric.boolean.mcfunction"}}},{"name":"meta.names","match":"\\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\\b","captures":{"0":{"name":"variable.uuid.mcfunction"}}},{"name":"meta.literals","match":"[+-]?\\d*\\.?\\d+([eE]?[+-]?\\d+)?[df]?\\b","captures":{"0":{"name":"constant.numeric.float.mcfunction"}}},{"name":"meta.literals","match":"[+-]?\\d+(b|B|L|l|s|S)?\\b","captures":{"0":{"name":"constant.numeric.integer.mcfunction"}}},{"name":"meta.ellipse.literals","match":"\\.\\.","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"string.quoted.double.mcfunction","begin":"\"","end":"\"","patterns":[{"include":"#literals_string-double"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mcfunction"}},"applyEndPatternLast":true},{"name":"string.quoted.single.mcfunction","begin":"'","end":"'","patterns":[{"include":"#literals_string-single"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"endCaptures":{"0":{"name":"punctuation.definition.string.begin.mcfunction"}},"applyEndPatternLast":true}]},"literals_string-double":{"patterns":[{"name":"meta.literals_string-double","match":"\\\\.","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"name":"meta.literals_string-double","match":"\\\\","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.literals_string-double","match":"[^\\\\\"]","captures":{"0":{"name":"string.quoted.double.mcfunction"}}}]},"literals_string-single":{"patterns":[{"name":"meta.literals_string-single","match":"\\\\.","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"name":"meta.literals_string-double","match":"\\\\","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.literals_string-single","match":"[^\\\\']","captures":{"0":{"name":"string.quoted.single.mcfunction"}}}]},"macro-name":{"patterns":[{"name":"meta.macro-name","match":"(\\$\\()([A-Za-z0-9_]*)(\\))","captures":{"1":{"name":"punctuation.definition.template-expression.begin.mcfunction"},"2":{"name":"variable.other.mcfunction"},"3":{"name":"punctuation.definition.template-expression.end.mcfunction"}}}]},"names":{"patterns":[{"name":"meta.names","match":"^(\\s*)([a-z_]+)(?=\\s)","captures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.names","match":"^(\\s*)(\\$)( ?)([a-z_]*)","captures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"markup.italic.mcfunction"},"3":{"name":"whitespace.mcfunction"},"4":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.names","match":"(run)(\\s+)([a-z_]+)","captures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"whitespace.mcfunction"},"3":{"name":"keyword.control.flow.mcfunction"}}},{"include":"#resource-name"},{"name":"meta.names","match":"[A-Za-z]+(?=\\W)","captures":{"0":{"name":"entity.name.mcfunction"}}},{"name":"meta.names","match":"[A-Za-z_][A-Za-z0-9_.#%$]*","captures":{"0":{"name":"string.unquoted.mcfunction"}}},{"include":"#macro-name"},{"name":"meta.names","match":"([#%$]|((?\u003c=\\s)\\.))[A-Za-z0-9_.#%$\\-]+","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"operators":{"patterns":[{"name":"meta.operators","match":"[~^]","captures":{"0":{"name":"constant.numeric.mcfunction"}}},{"name":"meta.operators","match":"[\\-%?!+*\u003c\u003e\\\\/|\u0026=.:,;]","captures":{"0":{"name":"keyword.operator.mcfunction"}}}]},"property":{"patterns":[{"name":"meta.property.curly","begin":"\\{","end":"\\}","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"punctuation.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.property.square","begin":"\\[","end":"\\]","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"variable.other.mcfunction"}},"applyEndPatternLast":true},{"name":"meta.property.paren","begin":"\\(","end":"\\)","patterns":[{"include":"#resource-name"},{"include":"#literals"},{"include":"#property_key"},{"include":"#operators"},{"include":"#property_value"},{"include":"$self"}],"captures":{"0":{"name":"punctuation.mcfunction"}},"applyEndPatternLast":true}]},"property_key":{"patterns":[{"name":"meta.property_key","match":"#?[a-z_][a-z_\\.\\-]*\\:[a-z0-9_\\.\\-/]+(?=\\s*\\=:)","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"meta.property_key","match":"#?[a-z_][a-z0-9_\\.\\-/]+","captures":{"0":{"name":"variable.other.mcfunction"}}},{"name":"meta.property_key","match":"[A-Za-z_]+[A-Za-z_\\-\\+]*","captures":{"0":{"name":"variable.other.mcfunction"}}}]},"property_value":{"patterns":[{"name":"meta.property_value","match":"#?[a-z_][a-z_\\.\\-]*\\:[a-z0-9_\\.\\-/]+","captures":{"0":{"name":"string.unquoted.mcfunction"}}},{"name":"meta.property_value","match":"#?[a-z_][a-z0-9_\\.\\-/]+","captures":{"0":{"name":"string.unquoted.mcfunction"}}}]},"resource-name":{"patterns":[{"name":"meta.resource-name","match":"#?[a-z_][a-z0-9_.-]*:[a-z0-9_./-]+","captures":{"0":{"name":"entity.name.function.mcfunction"}}},{"name":"meta.resource-name","match":"#?[a-z0-9_\\.\\-]+\\/[a-z0-9_\\.\\-\\/]+","captures":{"0":{"name":"entity.name.function.mcfunction"}}}]},"root":{"patterns":[{"include":"#literals"},{"include":"#comments"},{"include":"#say"},{"include":"#names"},{"include":"#comments_inline"},{"include":"#subcommands"},{"include":"#property"},{"include":"#operators"},{"include":"#selectors"}]},"say":{"patterns":[{"name":"meta.say.mcfunction","begin":"^(\\s*)(say)","end":"\\n","patterns":[{"match":"\\\\\\s*\\n","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#literals_string-double"},{"include":"#literals_string-single"}],"beginCaptures":{"1":{"name":"whitespace.mcfunction"},"2":{"name":"keyword.control.flow.mcfunction"}}},{"name":"meta.say.mcfunction","begin":"(run)(\\s+)(say)","end":"\\n","patterns":[{"match":"\\\\\\s*\\n","captures":{"0":{"name":"constant.character.escape.mcfunction"}}},{"include":"#literals_string-double"},{"include":"#literals_string-single"}],"beginCaptures":{"1":{"name":"entity.name.mcfunction"},"2":{"name":"whitespace.mcfunction"},"3":{"name":"keyword.control.flow.mcfunction"}}}]},"selectors":{"patterns":[{"name":"meta.selectors","match":"@[a-z]+","captures":{"0":{"name":"support.class.mcfunction"}}}]},"subcommands":{"patterns":[{"name":"meta.literals","match":"[a-z_]+","captures":{"0":{"name":"entity.name.class.mcfunction"}}}]}}}