]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/dns.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / dns.js
1 /*! `dns` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: DNS Zone
7 Author: Tim Schumacher <tim@datenknoten.me>
8 Category: config
9 Website: https://en.wikipedia.org/wiki/Zone_file
10 */
11
12 /** @type LanguageFn */
13 function dns(hljs) {
14 const KEYWORDS = [
15 "IN",
16 "A",
17 "AAAA",
18 "AFSDB",
19 "APL",
20 "CAA",
21 "CDNSKEY",
22 "CDS",
23 "CERT",
24 "CNAME",
25 "DHCID",
26 "DLV",
27 "DNAME",
28 "DNSKEY",
29 "DS",
30 "HIP",
31 "IPSECKEY",
32 "KEY",
33 "KX",
34 "LOC",
35 "MX",
36 "NAPTR",
37 "NS",
38 "NSEC",
39 "NSEC3",
40 "NSEC3PARAM",
41 "PTR",
42 "RRSIG",
43 "RP",
44 "SIG",
45 "SOA",
46 "SRV",
47 "SSHFP",
48 "TA",
49 "TKEY",
50 "TLSA",
51 "TSIG",
52 "TXT"
53 ];
54 return {
55 name: 'DNS Zone',
56 aliases: [
57 'bind',
58 'zone'
59 ],
60 keywords: KEYWORDS,
61 contains: [
62 hljs.COMMENT(';', '$', { relevance: 0 }),
63 {
64 className: 'meta',
65 begin: /^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/
66 },
67 // IPv6
68 {
69 className: 'number',
70 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'
71 },
72 // IPv4
73 {
74 className: 'number',
75 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'
76 },
77 hljs.inherit(hljs.NUMBER_MODE, { begin: /\b\d+[dhwm]?/ })
78 ]
79 };
80 }
81
82 return dns;
83
84 })();
85 ;
86 export default hljsGrammar;