123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*
- Language: DNS Zone
- Author: Tim Schumacher <tim@datenknoten.me>
- Category: config
- Website: https://en.wikipedia.org/wiki/Zone_file
- */
- /** @type LanguageFn */
- function dns(hljs) {
- const KEYWORDS = [
- "IN",
- "A",
- "AAAA",
- "AFSDB",
- "APL",
- "CAA",
- "CDNSKEY",
- "CDS",
- "CERT",
- "CNAME",
- "DHCID",
- "DLV",
- "DNAME",
- "DNSKEY",
- "DS",
- "HIP",
- "IPSECKEY",
- "KEY",
- "KX",
- "LOC",
- "MX",
- "NAPTR",
- "NS",
- "NSEC",
- "NSEC3",
- "NSEC3PARAM",
- "PTR",
- "RRSIG",
- "RP",
- "SIG",
- "SOA",
- "SRV",
- "SSHFP",
- "TA",
- "TKEY",
- "TLSA",
- "TSIG",
- "TXT"
- ];
- return {
- name: 'DNS Zone',
- aliases: [
- 'bind',
- 'zone'
- ],
- keywords: KEYWORDS,
- contains: [
- hljs.COMMENT(';', '$', { relevance: 0 }),
- {
- className: 'meta',
- begin: /^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/
- },
- // IPv6
- {
- className: 'number',
- begin: '((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b'
- },
- // IPv4
- {
- className: 'number',
- begin: '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b'
- },
- hljs.inherit(hljs.NUMBER_MODE, { begin: /\b\d+[dhwm]?/ })
- ]
- };
- }
- export { dns as default };
|