config/sublime/Packages/AAAPackageDev/Support/Sublime Macros.JSON-tmLanguage
2013-03-15 10:49:28 -07:00

69 lines
1.9 KiB
JSON

{ "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"
}