Install vim74
[msysgit.git] / share / vim / vim74 / syntax / resolv.vim
blob06d6885c1cb47732be2edab382a398b799f64c7d
1 " Vim syntax file
2 " Language: resolver configuration file
3 " Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
4 " URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim
5 " Last Change: 2013 May 21
6 " Version: 1.0
8 " Credits:
9 "   David Necas (Yeti) <yeti@physics.muni.cz>
10 "   Stefano Zacchiroli <zack@debian.org>
12 if version < 600
13         syntax clear
14 elseif exists("b:current_syntax")
15         finish
16 endif
18 " Errors, comments and operators
19 syn match resolvError /./
20 syn match resolvComment /\s*[#;].*$/
21 syn match resolvOperator /[\/:]/ contained
23 " IP
24 syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial
25 syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
26 syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
28 " General
29 syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster
30 syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
31 syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
33 " Particular
34 syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
35 syn match resolvHostnameSearch contained /\%(\%([-0-9A-Za-z_]\+\.\)*[-0-9A-Za-z_]\+\.\?\%(\s\|$\)\)\+/
36 syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\+/ contains=resolvOperator,@resolvIPCluster
38 " Identifiers
39 syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite
40 syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite
41 syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite
42 syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite
43 syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite
44 syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
46 " Options
47 syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite
48 syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite
50 " Additional errors
51 syn match resolvError /^search .\{257,}/
53 if 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
61         HiLink resolvIP Number
62         HiLink resolvIPNetmask Number
63         HiLink resolvHostname String
64         HiLink resolvOption String
66         HiLink resolvIPNameserver Number
67         HiLink resolvHostnameSearch String
68         HiLink resolvIPNetmaskSortList Number
70         HiLink resolvNameServer Identifier
71         HiLink resolvLwserver Identifier
72         HiLink resolvDomain Identifier
73         HiLink resolvSearch Identifier
74         HiLink resolvSortList Identifier
75         HiLink resolvOptions Identifier
77         HiLink resolvComment Comment
78         HiLink resolvOperator Operator
79         HiLink resolvError Error
80         HiLink resolvIPError Error
81         HiLink resolvIPSpecial Special
83         delcommand HiLink
84 endif
86 let b:current_syntax = "resolv"
88 " vim: ts=8 ft=vim