402 lines
10 KiB
JSON
402 lines
10 KiB
JSON
![]() |
{
|
||
|
"information_for_contributors": [
|
||
|
"This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/Bibtex.tmLanguage.json",
|
||
|
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||
|
"Once accepted there, we are happy to receive an update request."
|
||
|
],
|
||
|
"version": "https://github.com/jlelong/vscode-latex-basics/commit/4b19be579cb4a3c680f8b4bb613dcebfac826f8b",
|
||
|
"name": "bibtex",
|
||
|
"scopeName": "text.bibtex",
|
||
|
"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",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "@Comment",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.comment.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "$\\n?",
|
||
|
"name": "comment.line.at-sign.bibtex"
|
||
|
},
|
||
|
{
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "((@)(?i:string))\\s*(\\{)\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)",
|
||
|
"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": "((@)(?i:string))\\s*(\\()\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)",
|
||
|
"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": "((@)[a-zA-Z]+)\\s*(\\{)\\s*([^\\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": [
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"include": "#url_field"
|
||
|
},
|
||
|
{
|
||
|
"begin": "([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(\\=)",
|
||
|
"beginCaptures": {
|
||
|
"1": {
|
||
|
"name": "support.function.key.bibtex"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "punctuation.separator.key-value.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(?=[,}])",
|
||
|
"name": "meta.key-assignment.bibtex",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"include": "#integer"
|
||
|
},
|
||
|
{
|
||
|
"include": "#string_content"
|
||
|
},
|
||
|
{
|
||
|
"include": "#string_var"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "((@)[a-zA-Z]+)\\s*(\\()\\s*([^\\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": [
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"include": "#url_field"
|
||
|
},
|
||
|
{
|
||
|
"begin": "([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(\\=)",
|
||
|
"beginCaptures": {
|
||
|
"1": {
|
||
|
"name": "support.function.key.bibtex"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "punctuation.separator.key-value.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(?=[,)])",
|
||
|
"name": "meta.key-assignment.bibtex",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"include": "#integer"
|
||
|
},
|
||
|
{
|
||
|
"include": "#string_content"
|
||
|
},
|
||
|
{
|
||
|
"include": "#string_var"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "[^@\\n]",
|
||
|
"end": "(?=@)",
|
||
|
"name": "comment.block.bibtex"
|
||
|
}
|
||
|
],
|
||
|
"repository": {
|
||
|
"integer": {
|
||
|
"match": "\\s*(\\d+)\\s*",
|
||
|
"captures": {
|
||
|
"1": {
|
||
|
"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_var": {
|
||
|
"match": "(#)?\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(#)?",
|
||
|
"captures": {
|
||
|
"1": {
|
||
|
"name": "keyword.operator.bibtex"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "support.variable.bibtex"
|
||
|
},
|
||
|
"3": {
|
||
|
"name": "keyword.operator.bibtex"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"string_content": {
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "\\{",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.begin.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(\\})(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
|
||
|
"endCaptures": {
|
||
|
"1": {
|
||
|
"name": "punctuation.definition.string.end.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#url_cmd"
|
||
|
},
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"match": "@",
|
||
|
"name": "invalid.illegal.at-sign.bibtex"
|
||
|
},
|
||
|
{
|
||
|
"include": "#nested_braces"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "\"",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.begin.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "\"(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.end.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#url_cmd"
|
||
|
},
|
||
|
{
|
||
|
"include": "#percentage_comment"
|
||
|
},
|
||
|
{
|
||
|
"match": "@",
|
||
|
"name": "invalid.illegal.at-sign.bibtex"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"string_url": {
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "\\{|\"",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.begin.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(\\}|\")(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
|
||
|
"endCaptures": {
|
||
|
"1": {
|
||
|
"name": "punctuation.definition.string.end.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"contentName": "meta.url.bibtex",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#url_cmd"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"percentage_comment": {
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "(^[ \\t]+)?(?=%)",
|
||
|
"beginCaptures": {
|
||
|
"1": {
|
||
|
"name": "punctuation.whitespace.comment.leading.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(?!\\G)",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "%",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.comment.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "$\\n?",
|
||
|
"name": "comment.line.percentage.bibtex"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"url_cmd": {
|
||
|
"captures": {
|
||
|
"1": {
|
||
|
"name": "support.function.url.bibtex"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "punctuation.definition.function.bibtex"
|
||
|
},
|
||
|
"3": {
|
||
|
"name": "punctuation.definition.arguments.begin.bibtex"
|
||
|
},
|
||
|
"4": {
|
||
|
"name": "markup.underline.link.bibtex"
|
||
|
},
|
||
|
"5": {
|
||
|
"name": "punctuation.definition.arguments.end.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"match": "(?:\\s*)((\\\\)(?:url|href))(\\{)([^}]*)(\\})",
|
||
|
"name": "meta.function.link.url.bibtex"
|
||
|
},
|
||
|
"url_field": {
|
||
|
"begin": "(url)\\s*(\\=)",
|
||
|
"beginCaptures": {
|
||
|
"1": {
|
||
|
"name": "support.function.key.bibtex"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "punctuation.separator.key-value.bibtex"
|
||
|
}
|
||
|
},
|
||
|
"end": "(?=[,}])",
|
||
|
"name": "meta.key-assignment.url.bibtex",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "#string_url"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}
|