{ "name": "SRT Subtitle", "scopeName": "text.srt", "patterns": [ { "include": "#subtitle" } ], "repository": { "bold": { "name": "markup.bold.srt", "begin": "(?i)\u003cb\u003e", "end": "(?i)\u003c/b\u003e", "patterns": [ { "include": "#sound" }, { "include": "#person" }, { "include": "#bold" }, { "include": "#italic" }, { "include": "#underline" }, { "include": "#font" } ] }, "font": { "name": "markup.link.font.srt", "begin": "(?i)\u003cfont\\b.*?\u003e", "end": "(?i)\u003c/font\u003e", "patterns": [ { "include": "#sound" }, { "include": "#person" }, { "include": "#bold" }, { "include": "#italic" }, { "include": "#underline" }, { "include": "#font" } ] }, "italic": { "name": "markup.italic.srt", "begin": "(?i)\u003ci\u003e", "end": "(?i)\u003c/i\u003e", "patterns": [ { "include": "#sound" }, { "include": "#person" }, { "include": "#bold" }, { "include": "#italic" }, { "include": "#underline" }, { "include": "#font" } ] }, "person": { "name": "entity.name.tag.srt", "match": "^\\w+:" }, "sound": { "name": "string.quoted.other.sound.srt", "match": "\\[.*?\\]|\\(.*?\\)" }, "subtitle": { "name": "meta.subtitle.srt", "begin": "\\b\\d+$", "end": "^\\s*$", "patterns": [ { "include": "#time" }, { "include": "#sound" }, { "include": "#person" }, { "include": "#bold" }, { "include": "#italic" }, { "include": "#underline" }, { "include": "#font" } ], "beginCaptures": { "0": { "name": "entity.name.section.srt" } } }, "time": { "match": "^(\\d{2}:\\d{2}:\\d{2},\\d{3})\\s*(--\u003e)\\s*(\\d{2}:\\d{2}:\\d{2},\\d{3})$", "captures": { "1": { "name": "constant.numeric.time.srt" }, "2": { "name": "punctuation.definition.separator.srt" }, "3": { "name": "constant.numeric.time.srt" } } }, "underline": { "name": "markup.underline.srt", "begin": "(?i)\u003cu\u003e", "end": "(?i)\u003c/u\u003e", "patterns": [ { "include": "#sound" }, { "include": "#person" }, { "include": "#bold" }, { "include": "#italic" }, { "include": "#underline" }, { "include": "#font" } ] } } }