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