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;
 |