{ "name": "Sublime Text Macro", "scopeName": "source.sublimemacro", "fileTypes": ["sublime-macro"], "patterns": [ { "begin": "(\\[)", "beginCaptures": { "1": { "name": "punctuation.definition.collection.start.sublimemacro" } }, "end": "(\\])", "endCaptures": { "1": { "name": "punctuation.definition.collection.end.sublimemacro" } }, "patterns": [ { "include": "#command" }, { "include": "#args" } ] } ], "repository": { "args": { "begin": "\"(args)\"\\s*:", "beginCaptures": { "1": { "name": "keyword.other.sublimemacro"} }, "end": "(?<=\\})", "name": "meta.definition.attached.command.arguments.sublimemacro", "patterns": [ { "include": "source.jsongenericarray" }, { "match": "\"([a-zA-Z0-9_]+)\"\\s*:", "captures": { "1": { "name": "support.function.array.generic.key.sublimemacro" } } }, { "include": "source.jsongenericarrayelements" }, { "match": "true|false|\\d+", "name": "constant.numeric.sublimemacro" }, { "match": "\\{", "name": "punctuation.definition.array.keybinding.key.sequence" } ] }, "command": { "begin": "\\{", "end": "\\}", "patterns": [ { "match": "\"(command)\":\\s*\"([^\"]+)\"", "captures": { "1": { "name": "keyword.other.sublimemacro" }, "2": { "name": "string.attached.command.name.sublimemacro" } } }, { "include": "#args" } ] } }, "uuid": "f56e1baa-51fc-4791-a9d9-21301f2e3a01" }