mirror of
				https://github.com/JKorf/CryptoExchange.Net
				synced 2025-10-29 17:37:26 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| Language: STEP Part 21
 | |
| Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com>
 | |
| Description: Syntax highlighter for STEP Part 21 files (ISO 10303-21).
 | |
| Website: https://en.wikipedia.org/wiki/ISO_10303-21
 | |
| */
 | |
| 
 | |
| export default function(hljs) {
 | |
|   var STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*';
 | |
|   var STEP21_KEYWORDS = {
 | |
|     $pattern: STEP21_IDENT_RE,
 | |
|     keyword: 'HEADER ENDSEC DATA'
 | |
|   };
 | |
|   var STEP21_START = {
 | |
|     className: 'meta',
 | |
|     begin: 'ISO-10303-21;',
 | |
|     relevance: 10
 | |
|   };
 | |
|   var STEP21_CLOSE = {
 | |
|     className: 'meta',
 | |
|     begin: 'END-ISO-10303-21;',
 | |
|     relevance: 10
 | |
|   };
 | |
| 
 | |
|   return {
 | |
|     name: 'STEP Part 21',
 | |
|     aliases: ['p21', 'step', 'stp'],
 | |
|     case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized.
 | |
|     keywords: STEP21_KEYWORDS,
 | |
|     contains: [
 | |
|       STEP21_START,
 | |
|       STEP21_CLOSE,
 | |
|       hljs.C_LINE_COMMENT_MODE,
 | |
|       hljs.C_BLOCK_COMMENT_MODE,
 | |
|       hljs.COMMENT('/\\*\\*!', '\\*/'),
 | |
|       hljs.C_NUMBER_MODE,
 | |
|       hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}),
 | |
|       hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}),
 | |
|       {
 | |
|         className: 'string',
 | |
|         begin: "'", end: "'"
 | |
|       },
 | |
|       {
 | |
|         className: 'symbol',
 | |
|         variants: [
 | |
|           {
 | |
|             begin: '#', end: '\\d+',
 | |
|             illegal: '\\W'
 | |
|           }
 | |
|         ]
 | |
|       }
 | |
|     ]
 | |
|   };
 | |
| }
 |