mirror of
				https://github.com/JKorf/CryptoExchange.Net
				synced 2025-10-30 09:57:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| Language: Nginx config
 | |
| Author: Peter Leonov <gojpeg@yandex.ru>
 | |
| Contributors: Ivan Sagalaev <maniac@softwaremaniacs.org>
 | |
| Category: common, config
 | |
| Website: https://www.nginx.com
 | |
| */
 | |
| 
 | |
| export default function(hljs) {
 | |
|   var VAR = {
 | |
|     className: 'variable',
 | |
|     variants: [
 | |
|       {begin: /\$\d+/},
 | |
|       {begin: /\$\{/, end: /}/},
 | |
|       {begin: '[\\$\\@]' + hljs.UNDERSCORE_IDENT_RE}
 | |
|     ]
 | |
|   };
 | |
|   var DEFAULT = {
 | |
|     endsWithParent: true,
 | |
|     keywords: {
 | |
|       $pattern: '[a-z/_]+',
 | |
|       literal:
 | |
|         'on off yes no true false none blocked debug info notice warn error crit ' +
 | |
|         'select break last permanent redirect kqueue rtsig epoll poll /dev/poll'
 | |
|     },
 | |
|     relevance: 0,
 | |
|     illegal: '=>',
 | |
|     contains: [
 | |
|       hljs.HASH_COMMENT_MODE,
 | |
|       {
 | |
|         className: 'string',
 | |
|         contains: [hljs.BACKSLASH_ESCAPE, VAR],
 | |
|         variants: [
 | |
|           {begin: /"/, end: /"/},
 | |
|           {begin: /'/, end: /'/}
 | |
|         ]
 | |
|       },
 | |
|       // this swallows entire URLs to avoid detecting numbers within
 | |
|       {
 | |
|         begin: '([a-z]+):/', end: '\\s', endsWithParent: true, excludeEnd: true,
 | |
|         contains: [VAR]
 | |
|       },
 | |
|       {
 | |
|         className: 'regexp',
 | |
|         contains: [hljs.BACKSLASH_ESCAPE, VAR],
 | |
|         variants: [
 | |
|           {begin: "\\s\\^", end: "\\s|{|;", returnEnd: true},
 | |
|           // regexp locations (~, ~*)
 | |
|           {begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: true},
 | |
|           // *.example.com
 | |
|           {begin: "\\*(\\.[a-z\\-]+)+"},
 | |
|           // sub.example.*
 | |
|           {begin: "([a-z\\-]+\\.)+\\*"}
 | |
|         ]
 | |
|       },
 | |
|       // IP
 | |
|       {
 | |
|         className: 'number',
 | |
|         begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b'
 | |
|       },
 | |
|       // units
 | |
|       {
 | |
|         className: 'number',
 | |
|         begin: '\\b\\d+[kKmMgGdshdwy]*\\b',
 | |
|         relevance: 0
 | |
|       },
 | |
|       VAR
 | |
|     ]
 | |
|   };
 | |
| 
 | |
|   return {
 | |
|     name: 'Nginx config',
 | |
|     aliases: ['nginxconf'],
 | |
|     contains: [
 | |
|       hljs.HASH_COMMENT_MODE,
 | |
|       {
 | |
|         begin: hljs.UNDERSCORE_IDENT_RE + '\\s+{', returnBegin: true,
 | |
|         end: '{',
 | |
|         contains: [
 | |
|           {
 | |
|             className: 'section',
 | |
|             begin: hljs.UNDERSCORE_IDENT_RE
 | |
|           }
 | |
|         ],
 | |
|         relevance: 0
 | |
|       },
 | |
|       {
 | |
|         begin: hljs.UNDERSCORE_IDENT_RE + '\\s', end: ';|{', returnBegin: true,
 | |
|         contains: [
 | |
|           {
 | |
|             className: 'attribute',
 | |
|             begin: hljs.UNDERSCORE_IDENT_RE,
 | |
|             starts: DEFAULT
 | |
|           }
 | |
|         ],
 | |
|         relevance: 0
 | |
|       }
 | |
|     ],
 | |
|     illegal: '[^\\s\\}]'
 | |
|   };
 | |
| }
 |