1" Vim syntax file 2" Maintainer: Thilo Six 3" Contact: [email protected] 4" :3s+-foo++g 5" Description: highlight dnsmasq configuration files 6" File: runtime/syntax/dnsmasq.vim 7" Version: 2.76 8" Last Change: 2015 Sep 27 9" Modeline: vim: ts=8:sw=2:sts=2: 10" 11" License: VIM License 12" Vim is Charityware, see ":help Uganda" 13" 14" Options: You might want to add this to your vimrc: 15" 16" if &background == "dark" 17" let dnsmasq_backrgound_light = 0 18" else 19" let dnsmasq_backrgound_light = 1 20" endif 21" 22 23" quit when a syntax file was already loaded 24if exists("b:current_syntax") || &compatible 25 finish 26endif 27 28let s:cpo_save = &cpo 29set cpo&vim 30 31if !exists("b:dnsmasq_backrgound_light") 32 if exists("dnsmasq_backrgound_light") 33 let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light 34 else 35 let b:dnsmasq_backrgound_light = 0 36 endif 37endif 38 39 40" case on 41syn case match 42 43syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial 44syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues 45syn match DnsmasqSpecial "#" 46 47syn match DnsmasqIPv4 "\<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" nextgroup=DnsmasqSubnet2,DnsmasqRange 48syn match DnsmasqSubnet "\<255.\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{2\}\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\>" 49syn match DnsmasqSubnet2 contained "\/\([0-4]\?[0-9]\)\>" 50syn match DnsmasqRange contained "-" 51syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?" 52 53syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>" 54 55" String 56syn match DnsmasqString "\".*\"" contains=@Spell 57syn match DnsmasqString "'.*'" contains=@Spell 58 59" Comments 60syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained 61syn match DnsmasqComment "\(^\|\s\+\)#.*$" contains=@Spell,DnsmasqTodo 62 63" highlight trailing spaces 64syn match DnsmasqTrailSpace "[ \t]\+$" 65syn match DnsmasqTrailSpace "[ \t]\+$" containedin=ALL 66 67syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1 68syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1 69syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial 70syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial 71syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1 72syn match DnsmasqKeywordSpecial "\<interface\>:"me=e-1 73syn match DnsmasqKeywordSpecial "\<vi-encap\>:"me=e-1 74syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1 75syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1 76syn match DnsmasqKeywordSpecial "\<opt\>:"me=e-1 77syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1 78syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial 79syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1 80 81syn match DnsmasqKeyword "^\s*add-mac\>" 82syn match DnsmasqKeyword "^\s*add-subnet\>" 83syn match DnsmasqKeyword "^\s*addn-hosts\>" 84syn match DnsmasqKeyword "^\s*address\>" 85syn match DnsmasqKeyword "^\s*alias\>" 86syn match DnsmasqKeyword "^\s*all-servers\>" 87syn match DnsmasqKeyword "^\s*auth-zone\>" 88syn match DnsmasqKeyword "^\s*bind-dynamic\>" 89syn match DnsmasqKeyword "^\s*bind-interfaces\>" 90syn match DnsmasqKeyword "^\s*bogus-nxdomain\>" 91syn match DnsmasqKeyword "^\s*bogus-priv\>" 92syn match DnsmasqKeyword "^\s*bootp-dynamic\>" 93syn match DnsmasqKeyword "^\s*bridge-interface\>" 94syn match DnsmasqKeyword "^\s*cache-size\>" 95syn match DnsmasqKeyword "^\s*clear-on-reload\>" 96syn match DnsmasqKeyword "^\s*cname\>" 97syn match DnsmasqKeyword "^\s*conf-dir\>" 98syn match DnsmasqKeyword "^\s*conf-file\>" 99syn match DnsmasqKeyword "^\s*conntrack\>" 100syn match DnsmasqKeyword "^\s*dhcp-alternate-port\>" 101syn match DnsmasqKeyword "^\s*dhcp-authoritative\>" 102syn match DnsmasqKeyword "^\s*dhcp-boot\>" 103syn match DnsmasqKeyword "^\s*dhcp-broadcast\>" 104syn match DnsmasqKeyword "^\s*dhcp-circuitid\>" 105syn match DnsmasqKeyword "^\s*dhcp-client-update\>" 106syn match DnsmasqKeyword "^\s*dhcp-duid\>" 107syn match DnsmasqKeyword "^\s*dhcp-fqdn\>" 108syn match DnsmasqKeyword "^\s*dhcp-generate-names\>" 109syn match DnsmasqKeyword "^\s*dhcp-host\>" 110syn match DnsmasqKeyword "^\s*dhcp-hostsfile\>" 111syn match DnsmasqKeyword "^\s*dhcp-ignore\>" 112syn match DnsmasqKeyword "^\s*dhcp-ignore-names\>" 113syn match DnsmasqKeyword "^\s*dhcp-lease-max\>" 114syn match DnsmasqKeyword "^\s*dhcp-leasefile\>" 115syn match DnsmasqKeyword "^\s*dhcp-luascript\>" 116syn match DnsmasqKeyword "^\s*dhcp-mac\>" 117syn match DnsmasqKeyword "^\s*dhcp-match\>" 118syn match DnsmasqKeyword "^\s*dhcp-no-override\>" 119syn match DnsmasqKeyword "^\s*dhcp-option\>" 120syn match DnsmasqKeyword "^\s*dhcp-option-force\>" 121syn match DnsmasqKeyword "^\s*dhcp-optsfile\>" 122syn match DnsmasqKeyword "^\s*dhcp-proxy\>" 123syn match DnsmasqKeyword "^\s*dhcp-range\>" 124syn match DnsmasqKeyword "^\s*dhcp-relay\>" 125syn match DnsmasqKeyword "^\s*dhcp-remoteid\>" 126syn match DnsmasqKeyword "^\s*dhcp-script\>" 127syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>" 128syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>" 129syn match DnsmasqKeyword "^\s*dhcp-subscrid\>" 130syn match DnsmasqKeyword "^\s*dhcp-userclass\>" 131syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" 132syn match DnsmasqKeyword "^\s*dhcp-hostsdir\>" 133syn match DnsmasqKeyword "^\s*dns-rr\>" 134syn match DnsmasqKeyword "^\s*dnssec\>" 135syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>" 136syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>" 137syn match DnsmasqKeyword "^\s*dnssec-timestamp\>" 138syn match DnsmasqKeyword "^\s*dns-forward-max\>" 139syn match DnsmasqKeyword "^\s*domain\>" 140syn match DnsmasqKeyword "^\s*domain-needed\>" 141syn match DnsmasqKeyword "^\s*edns-packet-max\>" 142syn match DnsmasqKeyword "^\s*enable-dbus\>" 143syn match DnsmasqKeyword "^\s*enable-ra\>" 144syn match DnsmasqKeyword "^\s*enable-tftp\>" 145syn match DnsmasqKeyword "^\s*except-interface\>" 146syn match DnsmasqKeyword "^\s*expand-hosts\>" 147syn match DnsmasqKeyword "^\s*filterwin2k\>" 148syn match DnsmasqKeyword "^\s*group\>" 149syn match DnsmasqKeyword "^\s*host-record\>" 150syn match DnsmasqKeyword "^\s*interface\>" 151syn match DnsmasqKeyword "^\s*interface-name\>" 152syn match DnsmasqKeyword "^\s*ipset\>" 153syn match DnsmasqKeyword "^\s*ignore-address\>" 154syn match DnsmasqKeyword "^\s*keep-in-foreground\>" 155syn match DnsmasqKeyword "^\s*leasefile-ro\>" 156syn match DnsmasqKeyword "^\s*listen-address\>" 157syn match DnsmasqKeyword "^\s*local\>" 158syn match DnsmasqKeyword "^\s*localmx\>" 159syn match DnsmasqKeyword "^\s*local-ttl\>" 160syn match DnsmasqKeyword "^\s*local-service\>" 161syn match DnsmasqKeyword "^\s*localise-queries\>" 162syn match DnsmasqKeyword "^\s*log-async\>" 163syn match DnsmasqKeyword "^\s*log-dhcp\>" 164syn match DnsmasqKeyword "^\s*log-facility\>" 165syn match DnsmasqKeyword "^\s*log-queries\>" 166syn match DnsmasqKeyword "^\s*max-ttl\>" 167syn match DnsmasqKeyword "^\s*max-cache-ttl\>" 168syn match DnsmasqKeyword "^\s*min-cache-ttl\>" 169syn match DnsmasqKeyword "^\s*min-port\>" 170syn match DnsmasqKeyword "^\s*mx-host\>" 171syn match DnsmasqKeyword "^\s*mx-target\>" 172syn match DnsmasqKeyword "^\s*naptr-record\>" 173syn match DnsmasqKeyword "^\s*neg-ttl\>" 174syn match DnsmasqKeyword "^\s*no-daemon\>" 175syn match DnsmasqKeyword "^\s*no-dhcp-interface\>" 176syn match DnsmasqKeyword "^\s*no-hosts\>" 177syn match DnsmasqKeyword "^\s*no-negcache\>" 178syn match DnsmasqKeyword "^\s*no-ping\>" 179syn match DnsmasqKeyword "^\s*no-poll\>" 180syn match DnsmasqKeyword "^\s*no-resolv\>" 181syn match DnsmasqKeyword "^\s*pid-file\>" 182syn match DnsmasqKeyword "^\s*port\>" 183syn match DnsmasqKeyword "^\s*proxy-dnssec\>" 184syn match DnsmasqKeyword "^\s*ptr-record\>" 185syn match DnsmasqKeyword "^\s*pxe-prompt\>" 186syn match DnsmasqKeyword "^\s*pxe-service\>" 187syn match DnsmasqKeyword "^\s*query-port\>" 188syn match DnsmasqKeyword "^\s*quiet-ra\>" 189syn match DnsmasqKeyword "^\s*quiet-dhcp\>" 190syn match DnsmasqKeyword "^\s*quiet-dhcp6\>" 191syn match DnsmasqKeyword "^\s*ra-param\>" 192syn match DnsmasqKeyword "^\s*read-ethers\>" 193syn match DnsmasqKeyword "^\s*rebind-domain-ok\>" 194syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>" 195syn match DnsmasqKeyword "^\s*resolv-file\>" 196syn match DnsmasqKeyword "^\s*rev-server\>" 197syn match DnsmasqKeyword "^\s*selfmx\>" 198syn match DnsmasqKeyword "^\s*server\>" 199syn match DnsmasqKeyword "^\s*servers-file\>" 200syn match DnsmasqKeyword "^\s*srv-host\>" 201syn match DnsmasqKeyword "^\s*stop-dns-rebind\>" 202syn match DnsmasqKeyword "^\s*strict-order\>" 203syn match DnsmasqKeyword "^\s*synth-domain\>" 204syn match DnsmasqKeyword "^\s*tag-if\>" 205syn match DnsmasqKeyword "^\s*test\>" 206syn match DnsmasqKeyword "^\s*tftp-max\>" 207syn match DnsmasqKeyword "^\s*tftp-lowercase\>" 208syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" 209syn match DnsmasqKeyword "^\s*tftp-no-fail\>" 210syn match DnsmasqKeyword "^\s*tftp-port-range\>" 211syn match DnsmasqKeyword "^\s*tftp-root\>" 212syn match DnsmasqKeyword "^\s*tftp-secure\>" 213syn match DnsmasqKeyword "^\s*tftp-unique-root\>" 214syn match DnsmasqKeyword "^\s*txt-record\>" 215syn match DnsmasqKeyword "^\s*user\>" 216syn match DnsmasqKeyword "^\s*version\>" 217 218 219if b:dnsmasq_backrgound_light == 1 220 hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen 221else 222 hi def link DnsmasqKeyword Keyword 223endif 224hi def link DnsmasqKeywordSpecial Type 225hi def link DnsmasqTodo Todo 226hi def link DnsmasqSpecial Constant 227hi def link DnsmasqIPv4 Identifier 228hi def link DnsmasqSubnet2 DnsmasqSubnet 229hi def link DnsmasqSubnet DnsmasqMac 230hi def link DnsmasqRange DnsmasqMac 231hi def link DnsmasqMac Preproc 232hi def link DnsmasqTime Preproc 233hi def link DnsmasqComment Comment 234hi def link DnsmasqTrailSpace DiffDelete 235hi def link DnsmasqString Constant 236hi def link DnsmasqValues Normal 237 238let b:current_syntax = "dnsmasq" 239 240let &cpo = s:cpo_save 241unlet s:cpo_save 242 243