diff options
Diffstat (limited to 'runtime/syntax/dnsmasq.vim')
-rw-r--r-- | runtime/syntax/dnsmasq.vim | 109 |
1 files changed, 89 insertions, 20 deletions
diff --git a/runtime/syntax/dnsmasq.vim b/runtime/syntax/dnsmasq.vim index e6976201f..80248201f 100644 --- a/runtime/syntax/dnsmasq.vim +++ b/runtime/syntax/dnsmasq.vim @@ -1,13 +1,20 @@ " Vim syntax file " Language: dnsmasq(8) configuration file " Maintainer: Thilo Six <T.Six@gmx.de> -" Last Change: 2011 Apr 28 +" Last Change: 17 May 2011 " Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to: " Igor N. Prischepoff " Doug Kearns " David Ne\v{c}as " -" Options: let dnsmasq_backrgound_light = 1 +" Options: You might want to add this to your vimrc: +" +" if &background == "dark" +" " dnsmasq.vim +" let dnsmasq_backrgound_light = 0 +" else +" let dnsmasq_backrgound_light = 1 +" endif " " For version 5.x: Clear all syntax items @@ -18,6 +25,7 @@ elseif exists ("b:current_syntax") finish endif + if !exists("b:dnsmasq_backrgound_light") if exists("dnsmasq_backrgound_light") let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light @@ -30,75 +38,136 @@ endif " case on syn case match -"Parameters -syn match DnsmasqParams "^.\{-}="me=e-1 contains=DnsmasqComment -"... and their values (don't want to highlight '=' sign) syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial +syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues +syn match DnsmasqSpecial "#" -"...because we do it here. -syn match DnsmasqEq display '=\|@\|/\|,' nextgroup=DnsmasqValues +syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange +syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}" +syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>" +syn match DnsmasqRange contained "-" +syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?" -syn match DnsmasqSpecial "#" +syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>" " String -syn match DnsmasqString "\".*\"" -syn match DnsmasqString "'.*'" +syn match DnsmasqString "\".*\"" +syn match DnsmasqString "'.*'" " Comments -syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo -syn match DnsmasqComment "[ \t]#.*$" contains=DnsmasqTodo +syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo +syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo syn keyword DnsmasqTodo FIXME TODO XXX NOT contained +syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1 +syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1 +syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial +syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1 + syn match DnsmasqKeyword "^\s*add-mac\>" +syn match DnsmasqKeyword "^\s*addn-hosts\>" +syn match DnsmasqKeyword "^\s*address\>" +syn match DnsmasqKeyword "^\s*alias\>" syn match DnsmasqKeyword "^\s*all-servers\>" syn match DnsmasqKeyword "^\s*bind-interfaces\>" +syn match DnsmasqKeyword "^\s*bogus-nxdomain\>" syn match DnsmasqKeyword "^\s*bogus-priv\>" +syn match DnsmasqKeyword "^\s*cache-size\>" syn match DnsmasqKeyword "^\s*clear-on-reload\>" +syn match DnsmasqKeyword "^\s*cname\>" +syn match DnsmasqKeyword "^\s*conf-dir\>" +syn match DnsmasqKeyword "^\s*conf-file\>" syn match DnsmasqKeyword "^\s*dhcp-authoritative\>" +syn match DnsmasqKeyword "^\s*dhcp-boot\>" syn match DnsmasqKeyword "^\s*dhcp-fqdn\>" +syn match DnsmasqKeyword "^\s*dhcp-host\>" +syn match DnsmasqKeyword "^\s*dhcp-ignore\>" +syn match DnsmasqKeyword "^\s*dhcp-lease-max\>" +syn match DnsmasqKeyword "^\s*dhcp-leasefile\>" +syn match DnsmasqKeyword "^\s*dhcp-mac\>" +syn match DnsmasqKeyword "^\s*dhcp-match\>" syn match DnsmasqKeyword "^\s*dhcp-no-override\>" +syn match DnsmasqKeyword "^\s*dhcp-option-force\>" +syn match DnsmasqKeyword "^\s*dhcp-option\>" +syn match DnsmasqKeyword "^\s*dhcp-range\>" +syn match DnsmasqKeyword "^\s*dhcp-script\>" syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>" +syn match DnsmasqKeyword "^\s*dhcp-userclass\>" +syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" syn match DnsmasqKeyword "^\s*domain-needed\>" +syn match DnsmasqKeyword "^\s*domain\>" syn match DnsmasqKeyword "^\s*enable-dbus\>" syn match DnsmasqKeyword "^\s*enable-tftp\>" +syn match DnsmasqKeyword "^\s*except-interface\>" syn match DnsmasqKeyword "^\s*expand-hosts\>" syn match DnsmasqKeyword "^\s*filterwin2k\>" +syn match DnsmasqKeyword "^\s*group\>" +syn match DnsmasqKeyword "^\s*interface\>" syn match DnsmasqKeyword "^\s*keep-in-foreground\>" syn match DnsmasqKeyword "^\s*leasefile-ro\>" +syn match DnsmasqKeyword "^\s*listen-address\>" +syn match DnsmasqKeyword "^\s*local-ttl\>" +syn match DnsmasqKeyword "^\s*local\>" syn match DnsmasqKeyword "^\s*localise-queries\>" syn match DnsmasqKeyword "^\s*localmx\>" syn match DnsmasqKeyword "^\s*log-dhcp\>" syn match DnsmasqKeyword "^\s*log-queries\>" +syn match DnsmasqKeyword "^\s*mx-host\>" +syn match DnsmasqKeyword "^\s*mx-target\>" syn match DnsmasqKeyword "^\s*no-daemon\>" +syn match DnsmasqKeyword "^\s*no-dhcp-interface\>" syn match DnsmasqKeyword "^\s*no-hosts\>" syn match DnsmasqKeyword "^\s*no-negcache\>" syn match DnsmasqKeyword "^\s*no-ping\>" syn match DnsmasqKeyword "^\s*no-poll\>" syn match DnsmasqKeyword "^\s*no-resolv\>" syn match DnsmasqKeyword "^\s*proxy-dnssec\>" +syn match DnsmasqKeyword "^\s*ptr-record\>" +syn match DnsmasqKeyword "^\s*pxe-prompt\>" +syn match DnsmasqKeyword "^\s*pxe-service\>" syn match DnsmasqKeyword "^\s*read-ethers\>" syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>" +syn match DnsmasqKeyword "^\s*resolv-file\>" syn match DnsmasqKeyword "^\s*selfmx\>" +syn match DnsmasqKeyword "^\s*server\>" +syn match DnsmasqKeyword "^\s*srv-host\>" syn match DnsmasqKeyword "^\s*stop-dns-rebind\>" syn match DnsmasqKeyword "^\s*strict-order\>" syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" +syn match DnsmasqKeyword "^\s*tftp-root\>" syn match DnsmasqKeyword "^\s*tftp-secure\>" syn match DnsmasqKeyword "^\s*tftp-unique-root\>" +syn match DnsmasqKeyword "^\s*txt-record\>" +syn match DnsmasqKeyword "^\s*user\>" if b:dnsmasq_backrgound_light == 1 - hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen - hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen + hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen + hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen else hi def link DnsmasqKeyword Keyword hi def link DnsmasqParams Keyword endif -hi def link DnsmasqTodo Todo -hi def link DnsmasqSpecial Constant -hi def link DnsmasqComment Comment -hi def link DnsmasqString Constant -hi def link DnsmasqValues Normal -hi def link DnsmasqEq Constant +hi def link DnsmasqKeywordSpecial Type +hi def link DnsmasqTodo Todo +hi def link DnsmasqSpecial Constant +hi def link DnsmasqIPv4 Identifier +hi def link DnsmasqSubnet2 DnsmasqSubnet +hi def link DnsmasqSubnet DnsmasqMac +hi def link DnsmasqRange DnsmasqMac +hi def link DnsmasqMac Preproc +hi def link DnsmasqTime Preproc +hi def link DnsmasqComment Comment +hi def link DnsmasqString Constant +hi def link DnsmasqValues Normal + let b:current_syntax = "dnsmasq" + |