50 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						|
Language: Leaf
 | 
						|
Author: Hale Chan <halechan@qq.com>
 | 
						|
Description: Based on the Leaf reference from https://vapor.github.io/documentation/guide/leaf.html.
 | 
						|
*/
 | 
						|
 | 
						|
function leaf(hljs) {
 | 
						|
  return {
 | 
						|
    name: 'Leaf',
 | 
						|
    contains: [
 | 
						|
      {
 | 
						|
        className: 'function',
 | 
						|
        begin: '#+' + '[A-Za-z_0-9]*' + '\\(',
 | 
						|
        end: / \{/,
 | 
						|
        returnBegin: true,
 | 
						|
        excludeEnd: true,
 | 
						|
        contains: [
 | 
						|
          {
 | 
						|
            className: 'keyword',
 | 
						|
            begin: '#+'
 | 
						|
          },
 | 
						|
          {
 | 
						|
            className: 'title',
 | 
						|
            begin: '[A-Za-z_][A-Za-z_0-9]*'
 | 
						|
          },
 | 
						|
          {
 | 
						|
            className: 'params',
 | 
						|
            begin: '\\(',
 | 
						|
            end: '\\)',
 | 
						|
            endsParent: true,
 | 
						|
            contains: [
 | 
						|
              {
 | 
						|
                className: 'string',
 | 
						|
                begin: '"',
 | 
						|
                end: '"'
 | 
						|
              },
 | 
						|
              {
 | 
						|
                className: 'variable',
 | 
						|
                begin: '[A-Za-z_][A-Za-z_0-9]*'
 | 
						|
              }
 | 
						|
            ]
 | 
						|
          }
 | 
						|
        ]
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
module.exports = leaf;
 |