PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.25.0
Code Block Pro – Beautiful Syntax Highlighting v1.25.0
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / bibtex.tmLanguage.json

bibtex.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.25.0, at build/shiki/languages/bibtex.tmLanguage.json

402 lines 10.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "information_for_contributors": [
3 "This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/Bibtex.tmLanguage.json",
4 "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5 "Once accepted there, we are happy to receive an update request."
6 ],
7 "version": "https://github.com/jlelong/vscode-latex-basics/commit/7adad0868ecafbb1df978f1e052d6c3c85c38732",
8 "name": "bibtex",
9 "scopeName": "text.bibtex",
10 "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",
11 "patterns": [
12 {
13 "begin": "@Comment",
14 "beginCaptures": {
15 "0": {
16 "name": "punctuation.definition.comment.bibtex"
17 }
18 },
19 "end": "$\\n?",
20 "name": "comment.line.at-sign.bibtex"
21 },
22 {
23 "patterns": [
24 {
25 "include": "#percentage_comment"
26 }
27 ]
28 },
29 {
30 "begin": "((@)(?i:string))\\s*(\\{)\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)",
31 "beginCaptures": {
32 "1": {
33 "name": "keyword.other.string-constant.bibtex"
34 },
35 "2": {
36 "name": "punctuation.definition.keyword.bibtex"
37 },
38 "3": {
39 "name": "punctuation.section.string-constant.begin.bibtex"
40 },
41 "4": {
42 "name": "variable.other.bibtex"
43 }
44 },
45 "end": "\\}",
46 "endCaptures": {
47 "0": {
48 "name": "punctuation.section.string-constant.end.bibtex"
49 }
50 },
51 "name": "meta.string-constant.braces.bibtex",
52 "patterns": [
53 {
54 "include": "#string_content"
55 }
56 ]
57 },
58 {
59 "begin": "((@)(?i:string))\\s*(\\()\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)",
60 "beginCaptures": {
61 "1": {
62 "name": "keyword.other.string-constant.bibtex"
63 },
64 "2": {
65 "name": "punctuation.definition.keyword.bibtex"
66 },
67 "3": {
68 "name": "punctuation.section.string-constant.begin.bibtex"
69 },
70 "4": {
71 "name": "variable.other.bibtex"
72 }
73 },
74 "end": "\\)",
75 "endCaptures": {
76 "0": {
77 "name": "punctuation.section.string-constant.end.bibtex"
78 }
79 },
80 "name": "meta.string-constant.parenthesis.bibtex",
81 "patterns": [
82 {
83 "include": "#string_content"
84 }
85 ]
86 },
87 {
88 "begin": "((@)[a-zA-Z]+)\\s*(\\{)\\s*([^\\s,]*)",
89 "beginCaptures": {
90 "1": {
91 "name": "keyword.other.entry-type.bibtex"
92 },
93 "2": {
94 "name": "punctuation.definition.keyword.bibtex"
95 },
96 "3": {
97 "name": "punctuation.section.entry.begin.bibtex"
98 },
99 "4": {
100 "name": "entity.name.type.entry-key.bibtex"
101 }
102 },
103 "end": "\\}",
104 "endCaptures": {
105 "0": {
106 "name": "punctuation.section.entry.end.bibtex"
107 }
108 },
109 "name": "meta.entry.braces.bibtex",
110 "patterns": [
111 {
112 "include": "#percentage_comment"
113 },
114 {
115 "include": "#url_field"
116 },
117 {
118 "begin": "([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(\\=)",
119 "beginCaptures": {
120 "1": {
121 "name": "support.function.key.bibtex"
122 },
123 "2": {
124 "name": "punctuation.separator.key-value.bibtex"
125 }
126 },
127 "end": "(?=[,}])",
128 "name": "meta.key-assignment.bibtex",
129 "patterns": [
130 {
131 "include": "#percentage_comment"
132 },
133 {
134 "include": "#integer"
135 },
136 {
137 "include": "#string_content"
138 },
139 {
140 "include": "#string_var"
141 }
142 ]
143 }
144 ]
145 },
146 {
147 "begin": "((@)[a-zA-Z]+)\\s*(\\()\\s*([^\\s,]*)",
148 "beginCaptures": {
149 "1": {
150 "name": "keyword.other.entry-type.bibtex"
151 },
152 "2": {
153 "name": "punctuation.definition.keyword.bibtex"
154 },
155 "3": {
156 "name": "punctuation.section.entry.begin.bibtex"
157 },
158 "4": {
159 "name": "entity.name.type.entry-key.bibtex"
160 }
161 },
162 "end": "\\)",
163 "endCaptures": {
164 "0": {
165 "name": "punctuation.section.entry.end.bibtex"
166 }
167 },
168 "name": "meta.entry.parenthesis.bibtex",
169 "patterns": [
170 {
171 "include": "#percentage_comment"
172 },
173 {
174 "include": "#url_field"
175 },
176 {
177 "begin": "([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(\\=)",
178 "beginCaptures": {
179 "1": {
180 "name": "support.function.key.bibtex"
181 },
182 "2": {
183 "name": "punctuation.separator.key-value.bibtex"
184 }
185 },
186 "end": "(?=[,)])",
187 "name": "meta.key-assignment.bibtex",
188 "patterns": [
189 {
190 "include": "#percentage_comment"
191 },
192 {
193 "include": "#integer"
194 },
195 {
196 "include": "#string_content"
197 },
198 {
199 "include": "#string_var"
200 }
201 ]
202 }
203 ]
204 },
205 {
206 "begin": "[^@\\n]",
207 "end": "(?=@)",
208 "name": "comment.block.bibtex"
209 }
210 ],
211 "repository": {
212 "integer": {
213 "match": "\\s*(\\d+)\\s*",
214 "captures": {
215 "1": {
216 "name": "constant.numeric.bibtex"
217 }
218 }
219 },
220 "nested_braces": {
221 "begin": "(?<!\\\\)\\{",
222 "beginCaptures": {
223 "0": {
224 "name": "punctuation.definition.group.begin.bibtex"
225 }
226 },
227 "end": "(?<!\\\\)\\}",
228 "endCaptures": {
229 "0": {
230 "name": "punctuation.definition.group.end.bibtex"
231 }
232 },
233 "patterns": [
234 {
235 "include": "#nested_braces"
236 }
237 ]
238 },
239 "string_var": {
240 "match": "(#)?\\s*([a-zA-Z0-9\\!\\$\\&\\*\\+\\-\\.\\/\\:\\;\\<\\>\\?\\[\\]\\^\\_\\`\\|]+)\\s*(#)?",
241 "captures": {
242 "1": {
243 "name": "keyword.operator.bibtex"
244 },
245 "2": {
246 "name": "support.variable.bibtex"
247 },
248 "3": {
249 "name": "keyword.operator.bibtex"
250 }
251 }
252 },
253 "string_content": {
254 "patterns": [
255 {
256 "begin": "\\{",
257 "beginCaptures": {
258 "0": {
259 "name": "punctuation.definition.string.begin.bibtex"
260 }
261 },
262 "end": "(\\})(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
263 "endCaptures": {
264 "1": {
265 "name": "punctuation.definition.string.end.bibtex"
266 }
267 },
268 "patterns": [
269 {
270 "include": "#url_cmd"
271 },
272 {
273 "include": "#percentage_comment"
274 },
275 {
276 "match": "@",
277 "name": "invalid.illegal.at-sign.bibtex"
278 },
279 {
280 "include": "#nested_braces"
281 }
282 ]
283 },
284 {
285 "begin": "\"",
286 "beginCaptures": {
287 "0": {
288 "name": "punctuation.definition.string.begin.bibtex"
289 }
290 },
291 "end": "\"(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
292 "endCaptures": {
293 "0": {
294 "name": "punctuation.definition.string.end.bibtex"
295 }
296 },
297 "patterns": [
298 {
299 "include": "#url_cmd"
300 },
301 {
302 "include": "#percentage_comment"
303 },
304 {
305 "match": "@",
306 "name": "invalid.illegal.at-sign.bibtex"
307 }
308 ]
309 }
310 ]
311 },
312 "string_url": {
313 "patterns": [
314 {
315 "begin": "\\{|\"",
316 "beginCaptures": {
317 "0": {
318 "name": "punctuation.definition.string.begin.bibtex"
319 }
320 },
321 "end": "(\\}|\")(?=(?:,?\\s*\\}?\\s*\\n)|(?:\\s*#))",
322 "endCaptures": {
323 "1": {
324 "name": "punctuation.definition.string.end.bibtex"
325 }
326 },
327 "contentName": "meta.url.bibtex",
328 "patterns": [
329 {
330 "include": "#url_cmd"
331 }
332 ]
333 }
334 ]
335 },
336 "percentage_comment": {
337 "patterns": [
338 {
339 "begin": "(^[ \\t]+)?(?=%)",
340 "beginCaptures": {
341 "1": {
342 "name": "punctuation.whitespace.comment.leading.bibtex"
343 }
344 },
345 "end": "(?!\\G)",
346 "patterns": [
347 {
348 "begin": "(?<!\\\\)%",
349 "beginCaptures": {
350 "0": {
351 "name": "punctuation.definition.comment.bibtex"
352 }
353 },
354 "end": "$\\n?",
355 "name": "comment.line.percentage.bibtex"
356 }
357 ]
358 }
359 ]
360 },
361 "url_cmd": {
362 "captures": {
363 "1": {
364 "name": "support.function.url.bibtex"
365 },
366 "2": {
367 "name": "punctuation.definition.function.bibtex"
368 },
369 "3": {
370 "name": "punctuation.definition.arguments.begin.bibtex"
371 },
372 "4": {
373 "name": "markup.underline.link.bibtex"
374 },
375 "5": {
376 "name": "punctuation.definition.arguments.end.bibtex"
377 }
378 },
379 "match": "(?:\\s*)((\\\\)(?:url|href))(\\{)([^}]*)(\\})",
380 "name": "meta.function.link.url.bibtex"
381 },
382 "url_field": {
383 "begin": "(url)\\s*(\\=)",
384 "beginCaptures": {
385 "1": {
386 "name": "support.function.key.bibtex"
387 },
388 "2": {
389 "name": "punctuation.separator.key-value.bibtex"
390 }
391 },
392 "end": "(?=[,}])",
393 "name": "meta.key-assignment.url.bibtex",
394 "patterns": [
395 {
396 "include": "#string_url"
397 }
398 ]
399 }
400 }
401 }
402