blob: 9397b67f9f03d3faf12e747f5230c4d83e37530d [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/routeros.js"],"names":["module","exports","hljs","STATEMENTS","LITERALS","VAR","className","variants","begin","QUOTE_STRING","end","contains","BACKSLASH_ESCAPE","APOS_STRING","name","aliases","case_insensitive","keywords","$pattern","literal","keyword","split","join","illegal","COMMENT","relevance","returnBegin","endsWithParent"],"mappings":"8EAmKAA,EAAOC,QAxJP,SAAkBC,GAChB,IAAIC,EAAa,mEAKbC,EAAW,qCAEXC,EAAM,CACRC,UAAW,WACXC,SAAU,CAAC,CACTC,MAAO,sBACN,CACDA,MAAO,gBAGPC,EAAe,CACjBH,UAAW,SACXE,MAAO,IACPE,IAAK,IACLC,SAAU,CAACT,EAAKU,iBAAkBP,EAAK,CACrCC,UAAW,WACXE,MAAO,OACPE,IAAK,KACLC,SAAU,CAACT,EAAKU,qBAGhBC,EAAc,CAChBP,UAAW,SACXE,MAAO,IACPE,IAAK,KAGP,MAAO,CACLI,KAAM,2BACNC,QAAS,CAAC,WAAY,YACtBC,kBAAkB,EAClBC,SAAU,CACRC,SAAU,WACVC,QAASf,EACTgB,QAASjB,EAAa,KAAOA,EAAWkB,MAAM,KAAKC,KAAK,MAAQ,KArC9C,mKAqCqED,MAAM,KAAKC,KAAK,OAEzGX,SAAU,CAAC,CAETJ,SAAU,CAAC,CACTC,MAAO,KACPE,IAAK,KAEP,CACEF,MAAO,OACPE,IAAK,QAEP,CACEF,MAAO,KACPE,IAAK,KAEP,CACEF,MAAO,KACPE,IAAK,KAEP,CACEF,MAAO,gBACPE,IAAK,KAEP,CACEF,MAAO,OACPE,IAAK,KAEP,CACEF,MAAO,QACPE,IAAK,SAEP,CACEF,MAAO,MACPE,IAAK,KAEP,CACEF,MAAO,UACPE,IAAK,MAEP,CACEF,MAAO,kBACPE,IAAK,MAGPa,QAAS,KACRrB,EAAKsB,QAAQ,KAAM,KAAMf,EAAcI,EAAaR,EAAK,CAE1DG,MAAO,+BACPiB,UAAW,EACXC,aAAa,EACbf,SAAU,CAAC,CACTL,UAAW,YACXE,MAAO,SACN,CACDA,MAAO,IACPmB,gBAAgB,EAChBF,UAAW,EACXd,SAAU,CAACF,EAAcI,EAAaR,EAAK,CACzCC,UAAW,UACXE,MAAO,OAASJ,EAASiB,MAAM,KAAKC,KAAK,KAAO,QAiBlD,CAGEd,MAAO,gCAMb,CAEEF,UAAW,SACXE,MAAO,kBAET,CACEA,MAAO,OA/HW,wFA+Hca,MAAM,KAAKC,KAAK,KAAO,eACvDI,aAAa,EACbf,SAAU,CAAC,CACTL,UAAW,eAEXE,MAAO,SAER,CACDF,UAAW,WACXC,SAAU,CAAC,CACTC,MAAO,oBAvIC,o7BAuI6Ba,MAAM,KAAKC,KAAK,KAAO,WAC5DG,UAAW,IACV,CACDjB,MAAO","file":"react-syntax-highlighter_languages_highlight_routeros-8345695fff69363e4b43.js","sourcesContent":["/*\nLanguage: Microtik RouterOS script\nAuthor: Ivan Dementev <ivan_div@mail.ru>\nDescription: Scripting host provides a way to automate some router maintenance tasks by means of executing user-defined scripts bounded to some event occurrence\nWebsite: https://wiki.mikrotik.com/wiki/Manual:Scripting\n*/\n// Colors from RouterOS terminal:\n// green - #0E9A00\n// teal - #0C9A9A\n// purple - #99069A\n// light-brown - #9A9900\nfunction routeros(hljs) {\n var 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.\n\n var 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:\n\n var COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning';\n var LITERALS = 'true false yes no nothing nil null';\n var 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 firewall 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';\n var VAR = {\n className: 'variable',\n variants: [{\n begin: /\\$[\\w\\d#@][\\w\\d_]*/\n }, {\n begin: /\\$\\{(.*?)}/\n }]\n };\n var QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [hljs.BACKSLASH_ESCAPE, VAR, {\n className: 'variable',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [hljs.BACKSLASH_ESCAPE]\n }]\n };\n var APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n }; //////////////////////////////////////////////////////////////////////\n\n return {\n name: 'Microtik RouterOS script',\n aliases: ['routeros', 'mikrotik'],\n case_insensitive: true,\n keywords: {\n $pattern: /:?[\\w-]+/,\n literal: LITERALS,\n keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :')\n },\n contains: [{\n // недопустимые конструкции\n variants: [{\n begin: /^@/,\n end: /$/\n }, // dns\n {\n begin: /\\/\\*/,\n end: /\\*\\//\n }, // -- comment\n {\n begin: /%%/,\n end: /$/\n }, // -- comment\n {\n begin: /^'/,\n end: /$/\n }, // Monkey one line comment\n {\n begin: /^\\s*\\/[\\w-]+=/,\n end: /$/\n }, // jboss-cli\n {\n begin: /\\/\\//,\n end: /$/\n }, // Stan comment\n {\n begin: /^\\[\\</,\n end: /\\>\\]$/\n }, // F# class declaration?\n {\n begin: /<\\//,\n end: />/\n }, // HTML tags\n {\n begin: /^facet /,\n end: /\\}/\n }, // roboconf - лютый костыль )))\n {\n begin: '^1\\\\.\\\\.(\\\\d+)$',\n end: /$/\n } // tap\n ],\n illegal: /./\n }, hljs.COMMENT('^#', '$'), QUOTE_STRING, APOS_STRING, VAR, {\n // attribute=value\n begin: /[\\w-]+\\=([^\\s\\{\\}\\[\\]\\(\\)]+)/,\n relevance: 0,\n returnBegin: true,\n contains: [{\n className: 'attribute',\n begin: /[^=]+/\n }, {\n begin: /=/,\n endsWithParent: true,\n relevance: 0,\n contains: [QUOTE_STRING, APOS_STRING, VAR, {\n className: 'literal',\n begin: '\\\\b(' + LITERALS.split(' ').join('|') + ')\\\\b'\n },\n /*{\n // IPv4 addresses and subnets\n className: 'number',\n variants: [\n {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24\n {begin: IPADDR+'-'+IPADDR}, // 192.168.0.1-192.168.0.3\n {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1\n ]\n }, // */\n\n /*{\n // MAC addresses and DHCP Client IDs\n className: 'number',\n begin: /\\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\\b/,\n }, //*/\n {\n // Не форматировать не классифицированные значения. Необходимо для исключения подсветки значений как built_in.\n // className: 'number',\n begin: /(\"[^\"]*\"|[^\\s\\{\\}\\[\\]]+)/\n } //*/\n ]\n } //*/\n ]\n }, //*/\n {\n // HEX values\n className: 'number',\n begin: /\\*[0-9a-fA-F]+/\n }, //*/\n {\n begin: '\\\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\\\s\\[\\(]|\\])',\n returnBegin: true,\n contains: [{\n className: 'builtin-name',\n //'function',\n begin: /\\w+/\n }]\n }, {\n className: 'built_in',\n variants: [{\n begin: '(\\\\.\\\\./|/|\\\\s)((' + OBJECTS.split(' ').join('|') + ');?\\\\s)+',\n relevance: 10\n }, {\n begin: /\\.\\./\n }]\n } //*/\n ]\n };\n}\n\nmodule.exports = routeros;"],"sourceRoot":""}