1212
1313syn case match
1414
15+ syn sync fromstart
16+
1517" Directives
1618syn region zoneRRecord start =/ \v ^/ end =/ \v $/ contains =zoneOwnerName,zoneSpecial,zoneComment,zoneUnknown
1719
@@ -33,6 +35,10 @@ hi def link zoneOrigin Statement
3335syn match zoneDomain contained / \v ([^[:space:]!"#$%&'()*+,\/ :;<=>?@[\]\^ `{|}~]+|\@ )(\s |;|$)@=/
3436hi def link zoneDomain Underlined
3537
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+
3642syn match zoneSpecial contained / \v ^(\@ |\* (\.\S *)?)\s @=/ nextgroup =zoneTTL,zoneClass,zoneRRType skipwhite
3743hi def link zoneSpecial Special
3844
@@ -42,6 +48,33 @@ hi def link zoneTTL Constant
4248syn keyword zoneClass contained IN CHAOS CH HS ANY nextgroup =zoneRRType,zoneTTL skipwhite
4349hi def link zoneClass Include
4450
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+
4578let s: dataRegexp = {}
4679let s: dataRegexp [" zoneNumber" ] = " /\\ v<[0-9]+>/"
4780let s: dataRegexp [" zoneDomain" ] = " /\\ v[^[:space:]!\" #$%&'()*+,\\ /:;<=>?@[\\ ]\\ ^`{|}~]+[^[:space:]!\" #$%&'()*+,\\ /:;<=>?@[\\ ]\\ ^`{|}~]@!/"
@@ -122,6 +155,8 @@ endfunction
122155syn keyword zoneRRType contained A nextgroup =zoneIPAddr skipwhite
123156syn keyword zoneRRType contained AAAA nextgroup =zoneIP6Addr skipwhite
124157syn keyword zoneRRType contained NS CNAME PTR DNAME nextgroup =zoneDomain skipwhite
158+ syn keyword zoneRRType contained CAA skipwhite
159+ \ nextgroup= zoneCAA_Number
125160call s: createChain (" OPENPGPKEY" , [" zoneHex" ])
126161call s: createChain (" MX" , [" zoneNumber" , " zoneDomain" ])
127162call s: createChain (" SRV" , [" zoneNumber" , " zoneNumber" , " zoneNumber" , " zoneDomain" ])
@@ -139,8 +174,8 @@ syn keyword zoneRRType contained WKS HINFO RP
139174 \ DHCID SMIMEA HIP NINFO RKEY TALINK CDS CDSNKEY CSYNC ZONEMD
140175 \ SVCB HTTPS SPF UINFO UID
141176 \ 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
144179 \ nextgroup= zoneRData skipwhite
145180syn match zoneRRType contained / \v TYPE\d +/ nextgroup =zoneUnknownType1 skipwhite
146181hi def link zoneRRType Type
0 commit comments