diff options
Diffstat (limited to 'runtime/syntax/dnsmasq.vim')
-rw-r--r-- | runtime/syntax/dnsmasq.vim | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/runtime/syntax/dnsmasq.vim b/runtime/syntax/dnsmasq.vim new file mode 100644 index 0000000..a4cc8b5 --- /dev/null +++ b/runtime/syntax/dnsmasq.vim @@ -0,0 +1,242 @@ +" Vim syntax file +" Maintainer: Thilo Six +" Contact: vim-foo@xk2c-foo.de +" :3s+-foo++g +" Description: highlight dnsmasq configuration files +" File: runtime/syntax/dnsmasq.vim +" Version: 2.76 +" Last Change: 2015 Sep 27 +" Modeline: vim: ts=8:sw=2:sts=2: +" +" License: VIM License +" Vim is Charityware, see ":help Uganda" +" +" Options: You might want to add this to your vimrc: +" +" if &background == "dark" +" let dnsmasq_backrgound_light = 0 +" else +" let dnsmasq_backrgound_light = 1 +" endif +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") || &compatible + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +if !exists("b:dnsmasq_backrgound_light") + if exists("dnsmasq_backrgound_light") + let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light + else + let b:dnsmasq_backrgound_light = 0 + endif +endif + + +" case on +syn case match + +syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial +syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues +syn match DnsmasqSpecial "#" + +syn 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 +syn 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]\?\)\>" +syn match DnsmasqSubnet2 contained "\/\([0-4]\?[0-9]\)\>" +syn match DnsmasqRange contained "-" +syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?" + +syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>" + +" String +syn match DnsmasqString "\".*\"" contains=@Spell +syn match DnsmasqString "'.*'" contains=@Spell + +" Comments +syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained +syn match DnsmasqComment "\(^\|\s\+\)#.*$" contains=@Spell,DnsmasqTodo + +" highlight trailing spaces +syn match DnsmasqTrailSpace "[ \t]\+$" +syn match DnsmasqTrailSpace "[ \t]\+$" containedin=ALL + +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 "\<interface\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<vi-encap\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1 +syn match DnsmasqKeywordSpecial "\<opt\>:"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*add-subnet\>" +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*auth-zone\>" +syn match DnsmasqKeyword "^\s*bind-dynamic\>" +syn match DnsmasqKeyword "^\s*bind-interfaces\>" +syn match DnsmasqKeyword "^\s*bogus-nxdomain\>" +syn match DnsmasqKeyword "^\s*bogus-priv\>" +syn match DnsmasqKeyword "^\s*bootp-dynamic\>" +syn match DnsmasqKeyword "^\s*bridge-interface\>" +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*conntrack\>" +syn match DnsmasqKeyword "^\s*dhcp-alternate-port\>" +syn match DnsmasqKeyword "^\s*dhcp-authoritative\>" +syn match DnsmasqKeyword "^\s*dhcp-boot\>" +syn match DnsmasqKeyword "^\s*dhcp-broadcast\>" +syn match DnsmasqKeyword "^\s*dhcp-circuitid\>" +syn match DnsmasqKeyword "^\s*dhcp-client-update\>" +syn match DnsmasqKeyword "^\s*dhcp-duid\>" +syn match DnsmasqKeyword "^\s*dhcp-fqdn\>" +syn match DnsmasqKeyword "^\s*dhcp-generate-names\>" +syn match DnsmasqKeyword "^\s*dhcp-host\>" +syn match DnsmasqKeyword "^\s*dhcp-hostsfile\>" +syn match DnsmasqKeyword "^\s*dhcp-ignore\>" +syn match DnsmasqKeyword "^\s*dhcp-ignore-names\>" +syn match DnsmasqKeyword "^\s*dhcp-lease-max\>" +syn match DnsmasqKeyword "^\s*dhcp-leasefile\>" +syn match DnsmasqKeyword "^\s*dhcp-luascript\>" +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\>" +syn match DnsmasqKeyword "^\s*dhcp-option-force\>" +syn match DnsmasqKeyword "^\s*dhcp-optsfile\>" +syn match DnsmasqKeyword "^\s*dhcp-proxy\>" +syn match DnsmasqKeyword "^\s*dhcp-range\>" +syn match DnsmasqKeyword "^\s*dhcp-relay\>" +syn match DnsmasqKeyword "^\s*dhcp-remoteid\>" +syn match DnsmasqKeyword "^\s*dhcp-script\>" +syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>" +syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>" +syn match DnsmasqKeyword "^\s*dhcp-subscrid\>" +syn match DnsmasqKeyword "^\s*dhcp-userclass\>" +syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" +syn match DnsmasqKeyword "^\s*dhcp-hostsdir\>" +syn match DnsmasqKeyword "^\s*dns-rr\>" +syn match DnsmasqKeyword "^\s*dnssec\>" +syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>" +syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>" +syn match DnsmasqKeyword "^\s*dnssec-timestamp\>" +syn match DnsmasqKeyword "^\s*dns-forward-max\>" +syn match DnsmasqKeyword "^\s*domain\>" +syn match DnsmasqKeyword "^\s*domain-needed\>" +syn match DnsmasqKeyword "^\s*edns-packet-max\>" +syn match DnsmasqKeyword "^\s*enable-dbus\>" +syn match DnsmasqKeyword "^\s*enable-ra\>" +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*host-record\>" +syn match DnsmasqKeyword "^\s*interface\>" +syn match DnsmasqKeyword "^\s*interface-name\>" +syn match DnsmasqKeyword "^\s*ipset\>" +syn match DnsmasqKeyword "^\s*ignore-address\>" +syn match DnsmasqKeyword "^\s*keep-in-foreground\>" +syn match DnsmasqKeyword "^\s*leasefile-ro\>" +syn match DnsmasqKeyword "^\s*listen-address\>" +syn match DnsmasqKeyword "^\s*local\>" +syn match DnsmasqKeyword "^\s*localmx\>" +syn match DnsmasqKeyword "^\s*local-ttl\>" +syn match DnsmasqKeyword "^\s*local-service\>" +syn match DnsmasqKeyword "^\s*localise-queries\>" +syn match DnsmasqKeyword "^\s*log-async\>" +syn match DnsmasqKeyword "^\s*log-dhcp\>" +syn match DnsmasqKeyword "^\s*log-facility\>" +syn match DnsmasqKeyword "^\s*log-queries\>" +syn match DnsmasqKeyword "^\s*max-ttl\>" +syn match DnsmasqKeyword "^\s*max-cache-ttl\>" +syn match DnsmasqKeyword "^\s*min-cache-ttl\>" +syn match DnsmasqKeyword "^\s*min-port\>" +syn match DnsmasqKeyword "^\s*mx-host\>" +syn match DnsmasqKeyword "^\s*mx-target\>" +syn match DnsmasqKeyword "^\s*naptr-record\>" +syn match DnsmasqKeyword "^\s*neg-ttl\>" +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*pid-file\>" +syn match DnsmasqKeyword "^\s*port\>" +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*query-port\>" +syn match DnsmasqKeyword "^\s*quiet-ra\>" +syn match DnsmasqKeyword "^\s*quiet-dhcp\>" +syn match DnsmasqKeyword "^\s*quiet-dhcp6\>" +syn match DnsmasqKeyword "^\s*ra-param\>" +syn match DnsmasqKeyword "^\s*read-ethers\>" +syn match DnsmasqKeyword "^\s*rebind-domain-ok\>" +syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>" +syn match DnsmasqKeyword "^\s*resolv-file\>" +syn match DnsmasqKeyword "^\s*rev-server\>" +syn match DnsmasqKeyword "^\s*selfmx\>" +syn match DnsmasqKeyword "^\s*server\>" +syn match DnsmasqKeyword "^\s*servers-file\>" +syn match DnsmasqKeyword "^\s*srv-host\>" +syn match DnsmasqKeyword "^\s*stop-dns-rebind\>" +syn match DnsmasqKeyword "^\s*strict-order\>" +syn match DnsmasqKeyword "^\s*synth-domain\>" +syn match DnsmasqKeyword "^\s*tag-if\>" +syn match DnsmasqKeyword "^\s*test\>" +syn match DnsmasqKeyword "^\s*tftp-max\>" +syn match DnsmasqKeyword "^\s*tftp-lowercase\>" +syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" +syn match DnsmasqKeyword "^\s*tftp-no-fail\>" +syn match DnsmasqKeyword "^\s*tftp-port-range\>" +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\>" +syn match DnsmasqKeyword "^\s*version\>" + + +if b:dnsmasq_backrgound_light == 1 + hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen +else + hi def link DnsmasqKeyword Keyword +endif +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 DnsmasqTrailSpace DiffDelete +hi def link DnsmasqString Constant +hi def link DnsmasqValues Normal + +let b:current_syntax = "dnsmasq" + +let &cpo = s:cpo_save +unlet s:cpo_save + |