mirror of
https://github.com/Funkoala14/knowledgebase_law.git
synced 2025-06-08 18:28:17 +08:00
168 lines
5.7 KiB
JavaScript
168 lines
5.7 KiB
JavaScript
|
import {
|
||
|
__commonJS
|
||
|
} from "./chunk-2TUXWMP5.js";
|
||
|
|
||
|
// node_modules/highlight.js/lib/languages/routeros.js
|
||
|
var require_routeros = __commonJS({
|
||
|
"node_modules/highlight.js/lib/languages/routeros.js"(exports, module) {
|
||
|
function routeros(hljs) {
|
||
|
const STATEMENTS = "foreach do while for if from to step else on-error and or not in";
|
||
|
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";
|
||
|
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;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
export {
|
||
|
require_routeros
|
||
|
};
|
||
|
//# sourceMappingURL=chunk-KLRKVVGO.js.map
|