add hw2
This commit is contained in:
		
							
								
								
									
										172
									
								
								node_modules/highlight.js/lib/languages/routeros.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								node_modules/highlight.js/lib/languages/routeros.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,172 @@ | ||||
| /* | ||||
| Language: Microtik RouterOS script | ||||
| Author: Ivan Dementev <ivan_div@mail.ru> | ||||
| Description: Scripting host provides a way to automate some router maintenance tasks by means of executing user-defined scripts bounded to some event occurrence | ||||
| Website: https://wiki.mikrotik.com/wiki/Manual:Scripting | ||||
| */ | ||||
|  | ||||
| // Colors from RouterOS terminal: | ||||
| //   green        - #0E9A00 | ||||
| //   teal         - #0C9A9A | ||||
| //   purple       - #99069A | ||||
| //   light-brown  - #9A9900 | ||||
|  | ||||
| function routeros(hljs) { | ||||
|   const STATEMENTS = 'foreach do while for if from to step else on-error and or not in'; | ||||
|  | ||||
|   // Global commands: Every global command should start with ":" token, otherwise it will be treated as variable. | ||||
|   const GLOBAL_COMMANDS = 'global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime'; | ||||
|  | ||||
|   // Common commands: Following commands available from most sub-menus: | ||||
|   const COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning'; | ||||
|  | ||||
|   const LITERALS = 'true false yes no nothing nil null'; | ||||
|  | ||||
|   const OBJECTS = 'traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw'; | ||||
|  | ||||
|   const VAR = { | ||||
|     className: 'variable', | ||||
|     variants: [ | ||||
|       { | ||||
|         begin: /\$[\w\d#@][\w\d_]*/ | ||||
|       }, | ||||
|       { | ||||
|         begin: /\$\{(.*?)\}/ | ||||
|       } | ||||
|     ] | ||||
|   }; | ||||
|  | ||||
|   const QUOTE_STRING = { | ||||
|     className: 'string', | ||||
|     begin: /"/, | ||||
|     end: /"/, | ||||
|     contains: [ | ||||
|       hljs.BACKSLASH_ESCAPE, | ||||
|       VAR, | ||||
|       { | ||||
|         className: 'variable', | ||||
|         begin: /\$\(/, | ||||
|         end: /\)/, | ||||
|         contains: [ hljs.BACKSLASH_ESCAPE ] | ||||
|       } | ||||
|     ] | ||||
|   }; | ||||
|  | ||||
|   const APOS_STRING = { | ||||
|     className: 'string', | ||||
|     begin: /'/, | ||||
|     end: /'/ | ||||
|   }; | ||||
|  | ||||
|   return { | ||||
|     name: 'Microtik RouterOS script', | ||||
|     aliases: [ | ||||
|       'mikrotik' | ||||
|     ], | ||||
|     case_insensitive: true, | ||||
|     keywords: { | ||||
|       $pattern: /:?[\w-]+/, | ||||
|       literal: LITERALS, | ||||
|       keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :') | ||||
|     }, | ||||
|     contains: [ | ||||
|       { // illegal syntax | ||||
|         variants: [ | ||||
|           { // -- comment | ||||
|             begin: /\/\*/, | ||||
|             end: /\*\// | ||||
|           }, | ||||
|           { // Stan comment | ||||
|             begin: /\/\//, | ||||
|             end: /$/ | ||||
|           }, | ||||
|           { // HTML tags | ||||
|             begin: /<\//, | ||||
|             end: />/ | ||||
|           } | ||||
|         ], | ||||
|         illegal: /./ | ||||
|       }, | ||||
|       hljs.COMMENT('^#', '$'), | ||||
|       QUOTE_STRING, | ||||
|       APOS_STRING, | ||||
|       VAR, | ||||
|       // attribute=value | ||||
|       { | ||||
|         // > is to avoid matches with => in other grammars | ||||
|         begin: /[\w-]+=([^\s{}[\]()>]+)/, | ||||
|         relevance: 0, | ||||
|         returnBegin: true, | ||||
|         contains: [ | ||||
|           { | ||||
|             className: 'attribute', | ||||
|             begin: /[^=]+/ | ||||
|           }, | ||||
|           { | ||||
|             begin: /=/, | ||||
|             endsWithParent: true, | ||||
|             relevance: 0, | ||||
|             contains: [ | ||||
|               QUOTE_STRING, | ||||
|               APOS_STRING, | ||||
|               VAR, | ||||
|               { | ||||
|                 className: 'literal', | ||||
|                 begin: '\\b(' + LITERALS.split(' ').join('|') + ')\\b' | ||||
|               }, | ||||
|               { | ||||
|                 // Do not format unclassified values. Needed to exclude highlighting of values as built_in. | ||||
|                 begin: /("[^"]*"|[^\s{}[\]]+)/ | ||||
|               } | ||||
|               /* | ||||
|               { | ||||
|                 // IPv4 addresses and subnets | ||||
|                 className: 'number', | ||||
|                 variants: [ | ||||
|                   {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24 | ||||
|                   {begin: IPADDR+'-'+IPADDR},       // 192.168.0.1-192.168.0.3 | ||||
|                   {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1 | ||||
|                 ] | ||||
|               }, | ||||
|               { | ||||
|                 // MAC addresses and DHCP Client IDs | ||||
|                 className: 'number', | ||||
|                 begin: /\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\b/, | ||||
|               }, | ||||
|               */ | ||||
|             ] | ||||
|           } | ||||
|         ] | ||||
|       }, | ||||
|       { | ||||
|         // HEX values | ||||
|         className: 'number', | ||||
|         begin: /\*[0-9a-fA-F]+/ | ||||
|       }, | ||||
|       { | ||||
|         begin: '\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\s[(\\]|])', | ||||
|         returnBegin: true, | ||||
|         contains: [ | ||||
|           { | ||||
|             className: 'builtin-name', // 'function', | ||||
|             begin: /\w+/ | ||||
|           } | ||||
|         ] | ||||
|       }, | ||||
|       { | ||||
|         className: 'built_in', | ||||
|         variants: [ | ||||
|           { | ||||
|             begin: '(\\.\\./|/|\\s)((' + OBJECTS.split(' ').join('|') + ');?\\s)+' | ||||
|           }, | ||||
|           { | ||||
|             begin: /\.\./, | ||||
|             relevance: 0 | ||||
|           } | ||||
|         ] | ||||
|       } | ||||
|     ] | ||||
|   }; | ||||
| } | ||||
|  | ||||
| module.exports = routeros; | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik