You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
950 B
53 lines
950 B
2 years ago
|
/*
|
||
|
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;
|