# Encoding: UTF-8 {comment: "Grammar based on description from http://artis.imag.fr/~Xavier.Decoret/resources/xdkbibtex/bibtex_summary.html#comment\n\t\n\tTODO: Does not support @preamble\n\t", fileTypes: ["bib"], foldingStartMarker: /\@[a-zA-Z]+\s*[{(?<_1>].+,/, foldingStopMarker: /^\s*[)}]\s*$/, name: "BibTeX", patterns: [{begin: /@Comment/, beginCaptures: {0 => {name: "punctuation.definition.comment.bibtex"}}, end: "$\\n?", name: "comment.line.at-sign.bibtex"}, {begin: /(?<_1>(?<_2>@)String)\s*(?<_3>\{)\s*(?<_4>[a-zA-Z]*)/, beginCaptures: {1 => {name: "keyword.other.string-constant.bibtex"}, 2 => {name: "punctuation.definition.keyword.bibtex"}, 3 => {name: "punctuation.section.string-constant.begin.bibtex"}, 4 => {name: "variable.other.bibtex"}}, end: "\\}", endCaptures: {0 => {name: "punctuation.section.string-constant.end.bibtex"}}, name: "meta.string-constant.braces.bibtex", patterns: [{include: "#string_content"}]}, {begin: /(?<_1>(?<_2>@)String)\s*(?<_3>\()\s*(?<_4>[a-zA-Z]*)/, beginCaptures: {1 => {name: "keyword.other.string-constant.bibtex"}, 2 => {name: "punctuation.definition.keyword.bibtex"}, 3 => {name: "punctuation.section.string-constant.begin.bibtex"}, 4 => {name: "variable.other.bibtex"}}, end: "\\)", endCaptures: {0 => {name: "punctuation.section.string-constant.end.bibtex"}}, name: "meta.string-constant.parenthesis.bibtex", patterns: [{include: "#string_content"}]}, {begin: /(?<_1>(?<_2>@)[a-zA-Z]+)\s*(?<_3>\{)\s*(?<_4>[^\s,]*)/, beginCaptures: {1 => {name: "keyword.other.entry-type.bibtex"}, 2 => {name: "punctuation.definition.keyword.bibtex"}, 3 => {name: "punctuation.section.entry.begin.bibtex"}, 4 => {name: "entity.name.type.entry-key.bibtex"}}, end: "\\}", endCaptures: {0 => {name: "punctuation.section.entry.end.bibtex"}}, name: "meta.entry.braces.bibtex", patterns: [{begin: /(?<_1>[a-zA-Z]+)\s*(?<_2>\=)/, beginCaptures: {1 => {name: "string.unquoted.key.bibtex"}, 2 => {name: "punctuation.separator.key-value.bibtex"}}, end: "(?=[,}])", name: "meta.key-assignment.bibtex", patterns: [{include: "#string_content"}, {include: "#integer"}]}]}, {begin: /(?<_1>(?<_2>@)[a-zA-Z]+)\s*(?<_3>\()\s*(?<_4>[^\s,]*)/, beginCaptures: {1 => {name: "keyword.other.entry-type.bibtex"}, 2 => {name: "punctuation.definition.keyword.bibtex"}, 3 => {name: "punctuation.section.entry.begin.bibtex"}, 4 => {name: "entity.name.type.entry-key.bibtex"}}, end: "\\)", endCaptures: {0 => {name: "punctuation.section.entry.end.bibtex"}}, name: "meta.entry.parenthesis.bibtex", patterns: [{begin: /(?<_1>[a-zA-Z]+)\s*(?<_2>\=)/, beginCaptures: {1 => {name: "string.unquoted.key.bibtex"}, 2 => {name: "punctuation.separator.key-value.bibtex"}}, end: "(?=[,)])", name: "meta.key-assignment.bibtex", patterns: [{include: "#string_content"}, {include: "#integer"}]}]}, {begin: /[^@\n]/, end: "(?=@)", name: "comment.block.bibtex"}], repository: {integer: {match: /\d+/, name: "constant.numeric.bibtex"}, nested_braces: {begin: /\{/, beginCaptures: {0 => {name: "punctuation.definition.group.begin.bibtex"}}, end: "\\}", endCaptures: {0 => {name: "punctuation.definition.group.end.bibtex"}}, patterns: [{include: "#nested_braces"}]}, string_content: {patterns: [{begin: /"/, beginCaptures: {0 => {name: "punctuation.definition.string.begin.bibtex"}}, end: "\"", endCaptures: {0 => {name: "punctuation.definition.string.end.bibtex"}}, name: "string.quoted.double.bibtex", patterns: [{include: "#nested_braces"}]}, {begin: /\{/, beginCaptures: {0 => {name: "punctuation.definition.string.begin.bibtex"}}, end: "\\}", endCaptures: {0 => {name: "punctuation.definition.string.end.bibtex"}}, name: "string.quoted.other.braces.bibtex", patterns: [{match: /@/, name: "invalid.illegal.at-sign.bibtex"}, {include: "#nested_braces"}]}]}}, scopeName: "text.bibtex", uuid: "47F30BA1-6B1D-11D9-9A60-000D93589AF6"}