blob: dcc1a3c10eedb87da459adb2b7487711e6094929 [file] [log] [blame]
Bram Moolenaar84f72352012-03-11 15:57:40 +01001" Vim file
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +02002" Maintainer: Thilo Six <T.Six@gmx.de>
Bram Moolenaar84f72352012-03-11 15:57:40 +01003" Version: 2.60-1
4" Last Change: 2012 Mar 10
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01005" Modeline: vim: ts=8:sw=2:sts=2:
Bram Moolenaar84f72352012-03-11 15:57:40 +01006" File: runtime/syntax/dnsmasq.vim
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01007"
8" Credits: Igor N. Prischepoff
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +02009" Doug Kearns
10" David Ne\v{c}as
11"
Bram Moolenaar84f72352012-03-11 15:57:40 +010012" License: VIM License
13" see ":help copyright"
14"
15" Description: highlight dnsmasq configuration files
16"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020017" Options: You might want to add this to your vimrc:
18"
19" if &background == "dark"
20" " dnsmasq.vim
21" let dnsmasq_backrgound_light = 0
22" else
23" let dnsmasq_backrgound_light = 1
24" endif
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020025"
26
27" For version 5.x: Clear all syntax items
28" For version 6.x: Quit when a syntax file was already loaded
29if version < 600
30 syntax clear
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010031elseif exists("b:current_syntax") || &compatible
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020032 finish
33endif
34
Bram Moolenaar84f72352012-03-11 15:57:40 +010035let s:cpo_save = &cpo
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010036set cpo&vim
37
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020038if !exists("b:dnsmasq_backrgound_light")
39 if exists("dnsmasq_backrgound_light")
40 let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
41 else
42 let b:dnsmasq_backrgound_light = 0
43 endif
44endif
45
46
47" case on
48syn case match
49
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020050syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020051syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues
52syn match DnsmasqSpecial "#"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020053
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020054syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange
55syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}"
56syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>"
57syn match DnsmasqRange contained "-"
58syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020059
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020060syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020061
62" String
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020063syn match DnsmasqString "\".*\""
64syn match DnsmasqString "'.*'"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020065
66" Comments
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020067syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
68syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020069
Bram Moolenaar97293012011-07-18 19:40:27 +020070syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020071
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010072" highlight trailing spaces
73syn match DnsmasqTrailSpace "[ \t]\+$"
74syn match DnsmasqTrailSpace "[ \t]\+$" containedin=ALL
75
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020076syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1
77syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1
78syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial
79syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial
80syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010081syn match DnsmasqKeywordSpecial "\<interface\>:"me=e-1
82syn match DnsmasqKeywordSpecial "\<vi-encap\>:"me=e-1
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020083syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1
84syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010085syn match DnsmasqKeywordSpecial "\<opt\>:"me=e-1
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020086syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1
87syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
88syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
89
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020090syn match DnsmasqKeyword "^\s*add-mac\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020091syn match DnsmasqKeyword "^\s*addn-hosts\>"
92syn match DnsmasqKeyword "^\s*address\>"
93syn match DnsmasqKeyword "^\s*alias\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020094syn match DnsmasqKeyword "^\s*all-servers\>"
95syn match DnsmasqKeyword "^\s*bind-interfaces\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020096syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020097syn match DnsmasqKeyword "^\s*bogus-priv\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010098syn match DnsmasqKeyword "^\s*bootp-dynamic\>"
99syn match DnsmasqKeyword "^\s*bridge-interface\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200100syn match DnsmasqKeyword "^\s*cache-size\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200101syn match DnsmasqKeyword "^\s*clear-on-reload\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200102syn match DnsmasqKeyword "^\s*cname\>"
103syn match DnsmasqKeyword "^\s*conf-dir\>"
104syn match DnsmasqKeyword "^\s*conf-file\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100105syn match DnsmasqKeyword "^\s*conntrack\>"
106syn match DnsmasqKeyword "^\s*dhcp-alternate-port\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200107syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200108syn match DnsmasqKeyword "^\s*dhcp-boot\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100109syn match DnsmasqKeyword "^\s*dhcp-broadcast\>"
110syn match DnsmasqKeyword "^\s*dhcp-circuitid\>"
Bram Moolenaar84f72352012-03-11 15:57:40 +0100111syn match DnsmasqKeyword "^\s*dhcp-client-update\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200112syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100113syn match DnsmasqKeyword "^\s*dhcp-generate-names\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200114syn match DnsmasqKeyword "^\s*dhcp-host\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100115syn match DnsmasqKeyword "^\s*dhcp-hostsfile\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200116syn match DnsmasqKeyword "^\s*dhcp-ignore\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100117syn match DnsmasqKeyword "^\s*dhcp-ignore-names\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200118syn match DnsmasqKeyword "^\s*dhcp-lease-max\>"
119syn match DnsmasqKeyword "^\s*dhcp-leasefile\>"
Bram Moolenaar84f72352012-03-11 15:57:40 +0100120syn match DnsmasqKeyword "^\s*dhcp-luascript\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200121syn match DnsmasqKeyword "^\s*dhcp-mac\>"
122syn match DnsmasqKeyword "^\s*dhcp-match\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200123syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200124syn match DnsmasqKeyword "^\s*dhcp-option\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100125syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
126syn match DnsmasqKeyword "^\s*dhcp-optsfile\>"
127syn match DnsmasqKeyword "^\s*dhcp-proxy\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200128syn match DnsmasqKeyword "^\s*dhcp-range\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100129syn match DnsmasqKeyword "^\s*dhcp-remoteid\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200130syn match DnsmasqKeyword "^\s*dhcp-script\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200131syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100132syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>"
133syn match DnsmasqKeyword "^\s*dhcp-subscrid\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200134syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
135syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100136syn match DnsmasqKeyword "^\s*dns-forward-max\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200137syn match DnsmasqKeyword "^\s*domain\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100138syn match DnsmasqKeyword "^\s*domain-needed\>"
139syn match DnsmasqKeyword "^\s*edns-packet-max\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200140syn match DnsmasqKeyword "^\s*enable-dbus\>"
Bram Moolenaar84f72352012-03-11 15:57:40 +0100141syn match DnsmasqKeyword "^\s*enable-ra\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200142syn match DnsmasqKeyword "^\s*enable-tftp\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200143syn match DnsmasqKeyword "^\s*except-interface\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200144syn match DnsmasqKeyword "^\s*expand-hosts\>"
145syn match DnsmasqKeyword "^\s*filterwin2k\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200146syn match DnsmasqKeyword "^\s*group\>"
147syn match DnsmasqKeyword "^\s*interface\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100148syn match DnsmasqKeyword "^\s*interface-name\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200149syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
150syn match DnsmasqKeyword "^\s*leasefile-ro\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200151syn match DnsmasqKeyword "^\s*listen-address\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200152syn match DnsmasqKeyword "^\s*local\>"
Bram Moolenaar84f72352012-03-11 15:57:40 +0100153syn match DnsmasqKeyword "^\s*localmx\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100154syn match DnsmasqKeyword "^\s*local-ttl\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200155syn match DnsmasqKeyword "^\s*localise-queries\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100156syn match DnsmasqKeyword "^\s*log-async\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200157syn match DnsmasqKeyword "^\s*log-dhcp\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100158syn match DnsmasqKeyword "^\s*log-facility\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200159syn match DnsmasqKeyword "^\s*log-queries\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100160syn match DnsmasqKeyword "^\s*max-ttl\>"
161syn match DnsmasqKeyword "^\s*min-port\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200162syn match DnsmasqKeyword "^\s*mx-host\>"
163syn match DnsmasqKeyword "^\s*mx-target\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100164syn match DnsmasqKeyword "^\s*naptr-record\>"
165syn match DnsmasqKeyword "^\s*neg-ttl\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200166syn match DnsmasqKeyword "^\s*no-daemon\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200167syn match DnsmasqKeyword "^\s*no-dhcp-interface\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200168syn match DnsmasqKeyword "^\s*no-hosts\>"
169syn match DnsmasqKeyword "^\s*no-negcache\>"
170syn match DnsmasqKeyword "^\s*no-ping\>"
171syn match DnsmasqKeyword "^\s*no-poll\>"
172syn match DnsmasqKeyword "^\s*no-resolv\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100173syn match DnsmasqKeyword "^\s*pid-file\>"
174syn match DnsmasqKeyword "^\s*port\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200175syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200176syn match DnsmasqKeyword "^\s*ptr-record\>"
177syn match DnsmasqKeyword "^\s*pxe-prompt\>"
178syn match DnsmasqKeyword "^\s*pxe-service\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100179syn match DnsmasqKeyword "^\s*query-port\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200180syn match DnsmasqKeyword "^\s*read-ethers\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100181syn match DnsmasqKeyword "^\s*rebind-domain-ok\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200182syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200183syn match DnsmasqKeyword "^\s*resolv-file\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200184syn match DnsmasqKeyword "^\s*selfmx\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200185syn match DnsmasqKeyword "^\s*server\>"
186syn match DnsmasqKeyword "^\s*srv-host\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200187syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
188syn match DnsmasqKeyword "^\s*strict-order\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100189syn match DnsmasqKeyword "^\s*tag-if\>"
190syn match DnsmasqKeyword "^\s*test\>"
191syn match DnsmasqKeyword "^\s*tftp-max\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200192syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100193syn match DnsmasqKeyword "^\s*tftp-port-range\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200194syn match DnsmasqKeyword "^\s*tftp-root\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200195syn match DnsmasqKeyword "^\s*tftp-secure\>"
196syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200197syn match DnsmasqKeyword "^\s*txt-record\>"
198syn match DnsmasqKeyword "^\s*user\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100199syn match DnsmasqKeyword "^\s*version\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200200
201
202if b:dnsmasq_backrgound_light == 1
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200203 hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
204 hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200205else
206 hi def link DnsmasqKeyword Keyword
207 hi def link DnsmasqParams Keyword
208endif
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200209hi def link DnsmasqKeywordSpecial Type
210hi def link DnsmasqTodo Todo
211hi def link DnsmasqSpecial Constant
212hi def link DnsmasqIPv4 Identifier
213hi def link DnsmasqSubnet2 DnsmasqSubnet
214hi def link DnsmasqSubnet DnsmasqMac
215hi def link DnsmasqRange DnsmasqMac
216hi def link DnsmasqMac Preproc
217hi def link DnsmasqTime Preproc
218hi def link DnsmasqComment Comment
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100219hi def link DnsmasqTrailSpace DiffDelete
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200220hi def link DnsmasqString Constant
221hi def link DnsmasqValues Normal
222
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200223let b:current_syntax = "dnsmasq"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200224
Bram Moolenaar84f72352012-03-11 15:57:40 +0100225let &cpo = s:cpo_save
226unlet s:cpo_save
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100227