{ "name": "Option list", "scopeName": "source.opts", "patterns": [ { "include": "#main" } ], "repository": { "escape": { "patterns": [ { "include": "etc#esc" }, { "name": "constant.character.percent.url-encoded.opts", "match": "(%)[A-Fa-f0-9]{2}", "captures": { "1": { "name": "punctuation.definition.character.percentage.opts" } } } ] }, "main": { "patterns": [ { "include": "etc#comment" }, { "include": "#option" }, { "include": "#escape" } ] }, "option": { "patterns": [ { "name": "meta.option.opts", "begin": "(--|-)([^-\\s=][^\\s=]*)", "end": "(?!\\G)(?=\\$|\\S)", "patterns": [ { "match": "(?xi)\n(?\u003c= # HACK: Fixed-width look-behinds enforced by Oniguruma\n\t\\w[-_]pattern \\G\n\t| reg[-_]exp \\G\n\t| regexp \\G\n\t| reg[-_]ex \\G\n\t| regex \\G\n) \\s+ (\\S+)", "captures": { "1": { "patterns": [ { "include": "source.regexp" } ] } } }, { "match": "\\G(=)(\\S*)", "captures": { "1": { "name": "etc#eql" }, "2": { "patterns": [ { "include": "etc" } ] } } }, { "match": "\\G\\s+(?!#|-)(\\S+)", "captures": { "1": { "patterns": [ { "include": "etc" } ] } } } ], "beginCaptures": { "1": { "name": "punctuation.definition.dash.option.name.opts" }, "2": { "name": "entity.option.name.opts" } } } ] } } }