12
12
13
13
syn case match
14
14
15
+ syn sync fromstart
16
+
15
17
" Directives
16
18
syn region zoneRRecord start =/ \v ^/ end =/ \v $/ contains =zoneOwnerName,zoneSpecial,zoneComment,zoneUnknown
17
19
@@ -33,6 +35,10 @@ hi def link zoneOrigin Statement
33
35
syn match zoneDomain contained / \v ([^[:space:]!"#$%&'()*+,\/ :;<=>?@[\]\^ `{|}~]+|\@ )(\s |;|$)@=/
34
36
hi def link zoneDomain Underlined
35
37
38
+ " syn match zoneCAA_QuotedTagValue contained /\v"(([\x21-\x3a])|([\x37-\x7e])){1,255)"(\s|;|$)@=/
39
+ syn match zoneCAA_QuotedTagValue contained / \v "(([\x 21\x 23-\x 7e])){1,255}"/
40
+ hi def link zoneCAA_QuotedTagValue String
41
+
36
42
syn match zoneSpecial contained / \v ^(\@ |\* (\.\S *)?)\s @=/ nextgroup =zoneTTL,zoneClass,zoneRRType skipwhite
37
43
hi def link zoneSpecial Special
38
44
@@ -42,6 +48,33 @@ hi def link zoneTTL Constant
42
48
syn keyword zoneClass contained IN CHAOS CH HS ANY nextgroup =zoneRRType,zoneTTL skipwhite
43
49
hi def link zoneClass Include
44
50
51
+ syn match zoneCAA_unknown_tag contained
52
+ \ /\v<[a-zA-Z0-9]{1,64}>/
53
+ \ skipwhite
54
+ \ nextgroup= zoneCAA_QuotedTagValue
55
+ hi def link zoneCAA_unknown_tag Special
56
+
57
+ syn match zoneCAA_property_issue contained / issue/ skipwhite
58
+ \ nextgroup= zoneCAA_QuotedTagValue
59
+ hi def link zoneCAA_property_issue Variable
60
+
61
+ syn match zoneCAA_property_issuewild contained / issuewild/ skipwhite
62
+ \ nextgroup= zoneCAA_QuotedTagValue
63
+ hi def link zoneCAA_property_issuewild Variable
64
+
65
+ syn match zoneCAA_property_iodef contained / iodef/ skipwhite
66
+ \ nextgroup= zoneCAA_QuotedTagValue
67
+ hi def link zoneCAA_property_iodef Variable
68
+
69
+ syn match zoneCAA_Number contained / \v\d {1,3}/ skipwhite
70
+ \ nextgroup=
71
+ \ zoneCAA_property_issue,
72
+ \ zoneCAA_property_issuewild,
73
+ \ zoneCAA_property_iodef,
74
+ \ zoneCAA_unknown_tag
75
+ hi def link zoneCAA_Number Constant
76
+
77
+
45
78
let s: dataRegexp = {}
46
79
let s: dataRegexp [" zoneNumber" ] = " /\\ v<[0-9]+>/"
47
80
let s: dataRegexp [" zoneDomain" ] = " /\\ v[^[:space:]!\" #$%&'()*+,\\ /:;<=>?@[\\ ]\\ ^`{|}~]+[^[:space:]!\" #$%&'()*+,\\ /:;<=>?@[\\ ]\\ ^`{|}~]@!/"
@@ -122,6 +155,8 @@ endfunction
122
155
syn keyword zoneRRType contained A nextgroup =zoneIPAddr skipwhite
123
156
syn keyword zoneRRType contained AAAA nextgroup =zoneIP6Addr skipwhite
124
157
syn keyword zoneRRType contained NS CNAME PTR DNAME nextgroup =zoneDomain skipwhite
158
+ syn keyword zoneRRType contained CAA skipwhite
159
+ \ nextgroup= zoneCAA_Number
125
160
call s: createChain (" OPENPGPKEY" , [" zoneHex" ])
126
161
call s: createChain (" MX" , [" zoneNumber" , " zoneDomain" ])
127
162
call s: createChain (" SRV" , [" zoneNumber" , " zoneNumber" , " zoneNumber" , " zoneDomain" ])
@@ -139,8 +174,8 @@ syn keyword zoneRRType contained WKS HINFO RP
139
174
\ DHCID SMIMEA HIP NINFO RKEY TALINK CDS CDSNKEY CSYNC ZONEMD
140
175
\ SVCB HTTPS SPF UINFO UID
141
176
\ GID UNSPEC NID L32 L64 LP
142
- \ TKEY TSIG IXFR AXFR
143
- \ URI CAA AVC DOA AMTRELAY TA
177
+ \ TKEY TSIG IXFR AXFR
178
+ \ URI AVC DOA AMTRELAY TA OPENPGPKEY
144
179
\ nextgroup= zoneRData skipwhite
145
180
syn match zoneRRType contained / \v TYPE\d +/ nextgroup =zoneUnknownType1 skipwhite
146
181
hi def link zoneRRType Type
0 commit comments