{ "name": ".gitignore", "scopeName": "source.gitignore", "patterns": [ { "include": "#main" } ], "repository": { "bazaarPrefixes": { "patterns": [ { "name": "storage.modifier.bazaar.re-prefix.gitignore", "match": "^RE(:)(?=\\S)" }, { "name": "keyword.operator.logical.not.negation.elevated.bazaar.gitignore", "match": "^!!(?=\\S)" } ] }, "comment": { "name": "comment.line.number-sign.gitignore", "begin": "#", "end": "$", "beginCaptures": { "0": { "name": "punctuation.definition.comment.gitignore" } } }, "cvsSyntax": { "match": "\\A(syntax)(:)\\s+(glob)$", "captures": { "1": { "name": "variable.parameter.assignment.glob-syntax.cvs.gitignore" }, "2": { "name": "keyword.operator.assignment.separator.key-value.cvs.gitignore" }, "3": { "name": "support.constant.language.syntax-type.cvs.gitignore" } } }, "escape": { "name": "constant.character.escape.backslash.gitignore", "match": "(\\\\).", "captures": { "1": { "name": "punctuation.definition.escape.backslash.gitignore" } } }, "main": { "patterns": [ { "include": "#comment" }, { "include": "#cvsSyntax" }, { "include": "#pattern" }, { "include": "#escape" } ] }, "pattern": { "name": "meta.pattern.gitignore", "begin": "(?=[^#\\s])", "end": "$|(?=#)", "patterns": [ { "include": "#bazaarPrefixes" }, { "include": "#patternInnards" } ] }, "patternInnards": { "patterns": [ { "include": "#escape" }, { "include": "#range" }, { "name": "keyword.operator.logical.not.negation.gitignore", "match": "\\G!" }, { "name": "keyword.operator.glob.wildcard.globstar.gitignore", "match": "\\*\\*" }, { "name": "keyword.operator.glob.wildcard.gitignore", "match": "[*?]" }, { "name": "punctuation.directory.separator.meta.gitignore", "match": "/" }, { "name": "entity.other.file.name.gitignore", "match": "[^\\[\\]\\\\*?#/\\s]+" } ] }, "range": { "name": "meta.character-range.gitignore", "contentName": "constant.character.class.gitignore", "begin": "\\[", "end": "\\]|(?=$)", "patterns": [ { "include": "#escape" }, { "name": "punctuation.delimiter.range.character-set.gitignore", "match": "-" } ], "beginCaptures": { "0": { "name": "punctuation.definition.square.bracket.begin.gitignore" } }, "endCaptures": { "0": { "name": "punctuation.definition.square.bracket.end.gitignore" } } } } }