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 12if version < 600 13 syntax clear 14elseif exists("b:current_syntax") 15 finish 16endif 17 18" Errors, comments and operators 19syn match resolvError /./ 20syn match resolvComment /\s*[#;].*$/ 21syn match resolvOperator /[\/:]/ contained 22 23" IP 24syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial 25syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained 26syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained 27 28" General 29syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster 30syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster 31syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/ 32 33" Particular 34syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster 35syn match resolvHostnameSearch contained /\%(\%([-0-9A-Za-z_]\+\.\)*[-0-9A-Za-z_]\+\.\?\%(\s\|$\)\)\+/ 36syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\+/ contains=resolvOperator,@resolvIPCluster 37 38" Identifiers 39syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite 40syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite 41syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite 42syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite 43syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite 44syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite 45 46" Options 47syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite 48syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite 49 50" Additional errors 51syn match resolvError /^search .\{257,}/ 52 53if version >= 508 || !exists("did_config_syntax_inits") 54 if version < 508 55 let did_config_syntax_inits = 1 56 command! -nargs=+ HiLink hi link <args> 57 else 58 command! -nargs=+ HiLink hi def link <args> 59 endif 60 61 HiLink resolvIP Number 62 HiLink resolvIPNetmask Number 63 HiLink resolvHostname String 64 HiLink resolvOption String 65 66 HiLink resolvIPNameserver Number 67 HiLink resolvHostnameSearch String 68 HiLink resolvIPNetmaskSortList Number 69 70 HiLink resolvNameServer Identifier 71 HiLink resolvLwserver Identifier 72 HiLink resolvDomain Identifier 73 HiLink resolvSearch Identifier 74 HiLink resolvSortList Identifier 75 HiLink resolvOptions Identifier 76 77 HiLink resolvComment Comment 78 HiLink resolvOperator Operator 79 HiLink resolvError Error 80 HiLink resolvIPError Error 81 HiLink resolvIPSpecial Special 82 83 delcommand HiLink 84endif 85 86let b:current_syntax = "resolv" 87 88" vim: ts=8 ft=vim 89