58 lines
1.0 KiB
JavaScript
58 lines
1.0 KiB
JavaScript
|
/*
|
||
|
Language: Parser3
|
||
|
Requires: xml.js
|
||
|
Author: Oleg Volchkov <oleg@volchkov.net>
|
||
|
Website: https://www.parser.ru/en/
|
||
|
Category: template
|
||
|
*/
|
||
|
|
||
|
function parser3(hljs) {
|
||
|
const CURLY_SUBCOMMENT = hljs.COMMENT(
|
||
|
/\{/,
|
||
|
/\}/,
|
||
|
{
|
||
|
contains: [ 'self' ]
|
||
|
}
|
||
|
);
|
||
|
return {
|
||
|
name: 'Parser3',
|
||
|
subLanguage: 'xml',
|
||
|
relevance: 0,
|
||
|
contains: [
|
||
|
hljs.COMMENT('^#', '$'),
|
||
|
hljs.COMMENT(
|
||
|
/\^rem\{/,
|
||
|
/\}/,
|
||
|
{
|
||
|
relevance: 10,
|
||
|
contains: [ CURLY_SUBCOMMENT ]
|
||
|
}
|
||
|
),
|
||
|
{
|
||
|
className: 'meta',
|
||
|
begin: '^@(?:BASE|USE|CLASS|OPTIONS)$',
|
||
|
relevance: 10
|
||
|
},
|
||
|
{
|
||
|
className: 'title',
|
||
|
begin: '@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$'
|
||
|
},
|
||
|
{
|
||
|
className: 'variable',
|
||
|
begin: /\$\{?[\w\-.:]+\}?/
|
||
|
},
|
||
|
{
|
||
|
className: 'keyword',
|
||
|
begin: /\^[\w\-.:]+/
|
||
|
},
|
||
|
{
|
||
|
className: 'number',
|
||
|
begin: '\\^#[0-9a-fA-F]+'
|
||
|
},
|
||
|
hljs.C_NUMBER_MODE
|
||
|
]
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = parser3;
|