view runtime/syntax/dnsmasq.vim @ 33566:e1e3805fcd96 v9.0.2028

patch 9.0.2028: confusing build dependencies Commit: https://github.com/vim/vim/commit/5d03525cdef5db1b1cedfa26c6f8a21aaa207ec0 Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Sun Oct 15 09:50:53 2023 +0200 patch 9.0.2028: confusing build dependencies Problem: confusing build dependencies Solution: clean them up, make them parallelizable Separate vim binary and unittest dependencies, make them parallelizable Clean up make dependencies so Vim and unit test binaries only depend on the object files they need. This fixes an existing issue where after running unit tests, the Vim binary would be invalidated, which results in it having to be linked again when running script tests, even though Vim was already previously built. Make link.sh (script we use to link those binaries) generate namespaced temporary files for each app to avoid them colliding with each other. This allows `unittesttargets` to be built in parallel. These fixes are useful when using link-time-optimization as the link phase could now take minutes rather than a few seconds. closes: #13344 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 15 Oct 2023 10:00:03 +0200
parents 43efa4f5a8ea
children
line wrap: on
line source

" 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