1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| /*
| Language: Tagger Script
| Author: Philipp Wolfer <ph.wolfer@gmail.com>
| Description: Syntax Highlighting for the Tagger Script as used by MusicBrainz Picard.
| Website: https://picard.musicbrainz.org
| */
| function taggerscript(hljs) {
| const COMMENT = {
| className: 'comment',
| begin: /\$noop\(/,
| end: /\)/,
| contains: [ {
| begin: /\(/,
| end: /\)/,
| contains: [ 'self',
| {
| begin: /\\./
| } ]
| } ],
| relevance: 10
| };
|
| const FUNCTION = {
| className: 'keyword',
| begin: /\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,
| end: /\(/,
| excludeEnd: true
| };
|
| const VARIABLE = {
| className: 'variable',
| begin: /%[_a-zA-Z0-9:]*/,
| end: '%'
| };
|
| const ESCAPE_SEQUENCE = {
| className: 'symbol',
| begin: /\\./
| };
|
| return {
| name: 'Tagger Script',
| contains: [
| COMMENT,
| FUNCTION,
| VARIABLE,
| ESCAPE_SEQUENCE
| ]
| };
| }
|
| module.exports = taggerscript;
|
|