blob: 80248201f184ace81a60ab13e94f899c989af1b0 [file] [log] [blame]
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +02001" Vim syntax file
2" Language: dnsmasq(8) configuration file
3" Maintainer: Thilo Six <T.Six@gmx.de>
Bram Moolenaar20f90cf2011-05-19 12:22:51 +02004" Last Change: 17 May 2011
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +02005" Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
6" Igor N. Prischepoff
7" Doug Kearns
8" David Ne\v{c}as
9"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020010" Options: You might want to add this to your vimrc:
11"
12" if &background == "dark"
13" " dnsmasq.vim
14" let dnsmasq_backrgound_light = 0
15" else
16" let dnsmasq_backrgound_light = 1
17" endif
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020018"
19
20" For version 5.x: Clear all syntax items
21" For version 6.x: Quit when a syntax file was already loaded
22if version < 600
23 syntax clear
24elseif exists ("b:current_syntax")
25 finish
26endif
27
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020028
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020029if !exists("b:dnsmasq_backrgound_light")
30 if exists("dnsmasq_backrgound_light")
31 let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
32 else
33 let b:dnsmasq_backrgound_light = 0
34 endif
35endif
36
37
38" case on
39syn case match
40
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020041syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020042syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues
43syn match DnsmasqSpecial "#"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020044
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020045syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange
46syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}"
47syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>"
48syn match DnsmasqRange contained "-"
49syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020050
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020051syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020052
53" String
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020054syn match DnsmasqString "\".*\""
55syn match DnsmasqString "'.*'"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020056
57" Comments
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020058syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
59syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020060
61syn keyword DnsmasqTodo FIXME TODO XXX NOT contained
62
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020063syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1
64syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1
65syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial
66syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial
67syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1
68syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1
69syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1
70syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1
71syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
72syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
73
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020074syn match DnsmasqKeyword "^\s*add-mac\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020075syn match DnsmasqKeyword "^\s*addn-hosts\>"
76syn match DnsmasqKeyword "^\s*address\>"
77syn match DnsmasqKeyword "^\s*alias\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020078syn match DnsmasqKeyword "^\s*all-servers\>"
79syn match DnsmasqKeyword "^\s*bind-interfaces\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020080syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020081syn match DnsmasqKeyword "^\s*bogus-priv\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020082syn match DnsmasqKeyword "^\s*cache-size\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020083syn match DnsmasqKeyword "^\s*clear-on-reload\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020084syn match DnsmasqKeyword "^\s*cname\>"
85syn match DnsmasqKeyword "^\s*conf-dir\>"
86syn match DnsmasqKeyword "^\s*conf-file\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020087syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020088syn match DnsmasqKeyword "^\s*dhcp-boot\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020089syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020090syn match DnsmasqKeyword "^\s*dhcp-host\>"
91syn match DnsmasqKeyword "^\s*dhcp-ignore\>"
92syn match DnsmasqKeyword "^\s*dhcp-lease-max\>"
93syn match DnsmasqKeyword "^\s*dhcp-leasefile\>"
94syn match DnsmasqKeyword "^\s*dhcp-mac\>"
95syn match DnsmasqKeyword "^\s*dhcp-match\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +020096syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020097syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
98syn match DnsmasqKeyword "^\s*dhcp-option\>"
99syn match DnsmasqKeyword "^\s*dhcp-range\>"
100syn match DnsmasqKeyword "^\s*dhcp-script\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200101syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200102syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
103syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200104syn match DnsmasqKeyword "^\s*domain-needed\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200105syn match DnsmasqKeyword "^\s*domain\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200106syn match DnsmasqKeyword "^\s*enable-dbus\>"
107syn match DnsmasqKeyword "^\s*enable-tftp\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200108syn match DnsmasqKeyword "^\s*except-interface\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200109syn match DnsmasqKeyword "^\s*expand-hosts\>"
110syn match DnsmasqKeyword "^\s*filterwin2k\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200111syn match DnsmasqKeyword "^\s*group\>"
112syn match DnsmasqKeyword "^\s*interface\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200113syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
114syn match DnsmasqKeyword "^\s*leasefile-ro\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200115syn match DnsmasqKeyword "^\s*listen-address\>"
116syn match DnsmasqKeyword "^\s*local-ttl\>"
117syn match DnsmasqKeyword "^\s*local\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200118syn match DnsmasqKeyword "^\s*localise-queries\>"
119syn match DnsmasqKeyword "^\s*localmx\>"
120syn match DnsmasqKeyword "^\s*log-dhcp\>"
121syn match DnsmasqKeyword "^\s*log-queries\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200122syn match DnsmasqKeyword "^\s*mx-host\>"
123syn match DnsmasqKeyword "^\s*mx-target\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200124syn match DnsmasqKeyword "^\s*no-daemon\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200125syn match DnsmasqKeyword "^\s*no-dhcp-interface\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200126syn match DnsmasqKeyword "^\s*no-hosts\>"
127syn match DnsmasqKeyword "^\s*no-negcache\>"
128syn match DnsmasqKeyword "^\s*no-ping\>"
129syn match DnsmasqKeyword "^\s*no-poll\>"
130syn match DnsmasqKeyword "^\s*no-resolv\>"
131syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200132syn match DnsmasqKeyword "^\s*ptr-record\>"
133syn match DnsmasqKeyword "^\s*pxe-prompt\>"
134syn match DnsmasqKeyword "^\s*pxe-service\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200135syn match DnsmasqKeyword "^\s*read-ethers\>"
136syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200137syn match DnsmasqKeyword "^\s*resolv-file\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200138syn match DnsmasqKeyword "^\s*selfmx\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200139syn match DnsmasqKeyword "^\s*server\>"
140syn match DnsmasqKeyword "^\s*srv-host\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200141syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
142syn match DnsmasqKeyword "^\s*strict-order\>"
143syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200144syn match DnsmasqKeyword "^\s*tftp-root\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200145syn match DnsmasqKeyword "^\s*tftp-secure\>"
146syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200147syn match DnsmasqKeyword "^\s*txt-record\>"
148syn match DnsmasqKeyword "^\s*user\>"
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200149
150
151if b:dnsmasq_backrgound_light == 1
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200152 hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
153 hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200154else
155 hi def link DnsmasqKeyword Keyword
156 hi def link DnsmasqParams Keyword
157endif
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200158hi def link DnsmasqKeywordSpecial Type
159hi def link DnsmasqTodo Todo
160hi def link DnsmasqSpecial Constant
161hi def link DnsmasqIPv4 Identifier
162hi def link DnsmasqSubnet2 DnsmasqSubnet
163hi def link DnsmasqSubnet DnsmasqMac
164hi def link DnsmasqRange DnsmasqMac
165hi def link DnsmasqMac Preproc
166hi def link DnsmasqTime Preproc
167hi def link DnsmasqComment Comment
168hi def link DnsmasqString Constant
169hi def link DnsmasqValues Normal
170
Bram Moolenaar8e5af3e2011-04-28 19:02:44 +0200171
172let b:current_syntax = "dnsmasq"
Bram Moolenaar20f90cf2011-05-19 12:22:51 +0200173