46 lines
		
	
	
		
			979 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			979 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| Language: Dust
 | |
| Requires: xml.js
 | |
| Author: Michael Allen <michael.allen@benefitfocus.com>
 | |
| Description: Matcher for dust.js templates.
 | |
| Website: https://www.dustjs.com
 | |
| Category: template
 | |
| */
 | |
| 
 | |
| /** @type LanguageFn */
 | |
| function dust(hljs) {
 | |
|   const EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep';
 | |
|   return {
 | |
|     name: 'Dust',
 | |
|     aliases: ['dst'],
 | |
|     case_insensitive: true,
 | |
|     subLanguage: 'xml',
 | |
|     contains: [
 | |
|       {
 | |
|         className: 'template-tag',
 | |
|         begin: /\{[#\/]/,
 | |
|         end: /\}/,
 | |
|         illegal: /;/,
 | |
|         contains: [{
 | |
|           className: 'name',
 | |
|           begin: /[a-zA-Z\.-]+/,
 | |
|           starts: {
 | |
|             endsWithParent: true,
 | |
|             relevance: 0,
 | |
|             contains: [hljs.QUOTE_STRING_MODE]
 | |
|           }
 | |
|         }]
 | |
|       },
 | |
|       {
 | |
|         className: 'template-variable',
 | |
|         begin: /\{/,
 | |
|         end: /\}/,
 | |
|         illegal: /;/,
 | |
|         keywords: EXPRESSION_KEYWORDS
 | |
|       }
 | |
|     ]
 | |
|   };
 | |
| }
 | |
| 
 | |
| module.exports = dust;
 |