1" Vim syntax file 2" Language: resolver configuration file 3" Maintainer: Radu Dineiu <[email protected]> 4" URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim 5" Last Change: 2013 May 21 6" Version: 1.0 7" 8" Credits: 9" David Necas (Yeti) <[email protected]> 10" Stefano Zacchiroli <[email protected]> 11 12" quit when a syntax file was already loaded 13if exists("b:current_syntax") 14 finish 15endif 16 17" Errors, comments and operators 18syn match resolvError /./ 19syn match resolvComment /\s*[#;].*$/ 20syn match resolvOperator /[\/:]/ contained 21 22" IP 23syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial 24syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained 25syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained 26 27" General 28syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster 29syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster 30syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/ 31 32" Particular 33syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster 34syn match resolvHostnameSearch contained /\%(\%([-0-9A-Za-z_]\+\.\)*[-0-9A-Za-z_]\+\.\?\%(\s\|$\)\)\+/ 35syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\+/ contains=resolvOperator,@resolvIPCluster 36 37" Identifiers 38syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite 39syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite 40syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite 41syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite 42syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite 43syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite 44 45" Options 46syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite 47syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite 48 49" Additional errors 50syn match resolvError /^search .\{257,}/ 51 52 53hi def link resolvIP Number 54hi def link resolvIPNetmask Number 55hi def link resolvHostname String 56hi def link resolvOption String 57 58hi def link resolvIPNameserver Number 59hi def link resolvHostnameSearch String 60hi def link resolvIPNetmaskSortList Number 61 62hi def link resolvNameServer Identifier 63hi def link resolvLwserver Identifier 64hi def link resolvDomain Identifier 65hi def link resolvSearch Identifier 66hi def link resolvSortList Identifier 67hi def link resolvOptions Identifier 68 69hi def link resolvComment Comment 70hi def link resolvOperator Operator 71hi def link resolvError Error 72hi def link resolvIPError Error 73hi def link resolvIPSpecial Special 74 75 76let b:current_syntax = "resolv" 77 78" vim: ts=8 ft=vim 79