xref: /vim-8.2.3635/runtime/syntax/resolv.vim (revision 0fa313a7)
1" Vim syntax file
2" Language:     resolver configuration file
3" Maintaner:    Radu Dineiu <[email protected]>
4" URL:		http://ld.yi.org/vim/resolv.vim
5" ChangeLog:    http://ld.yi.org/vim/resolv.ChangeLog
6" Last Change:  2003 May 11
7" Version:      0.1
8
9if version < 600
10	syntax clear
11elseif exists("b:current_syntax")
12	finish
13endif
14
15" Errors, comments and operators
16syn match resolvError /./
17syn match resolvNull /^\s*$/
18syn match resolvComment /^\s*#.*$/
19syn match resolvOperator /[\/:]/ contained
20
21" IP
22
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\|$\)\)\{1,3}/ contains=@resolvIPCluster
34syn match resolvHostnameSearch contained /\%(\w\{-}\.[-0-9A-Za-z_\.]\{-}\%(\s\|$\)\)\{1,6}/
35syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\{1,10}/ contains=resolvOperator,@resolvIPCluster
36
37" Identifiers
38syn match resolvNameserver /^nameserver / nextgroup=resolvIPNameserver
39syn match resolvDomain /^domain / nextgroup=resolvHostname
40syn match resolvSearch /^search / nextgroup=resolvHostnameSearch
41syn match resolvSortList /^sortlist / nextgroup=resolvIPNetmaskSortList
42syn match resolvOptions /^options / nextgroup=resolvOption
43
44" Options
45syn match resolvOption /\%(debug\|ndots:\d\)/ contained contains=resolvOperator
46
47" Additional errors
48syn match resolvError /^search .\{257,}/
49syn match resolvNull /\s\{1,}$/
50
51if version >= 508 || !exists("did_config_syntax_inits")
52	if version < 508
53		let did_config_syntax_inits = 1
54		command! -nargs=+ HiLink hi link <args>
55	else
56		command! -nargs=+ HiLink hi def link <args>
57	endif
58
59	HiLink resolvIP Number
60	HiLink resolvIPNetmask Number
61	HiLink resolvHostname String
62	HiLink resolvOption String
63
64	HiLink resolvIPNameserver Number
65	HiLink resolvHostnameSearch String
66	HiLink resolvIPNetmaskSortList Number
67
68	HiLink resolvNameServer Identifier
69	HiLink resolvDomain Identifier
70	HiLink resolvSearch Identifier
71	HiLink resolvSortList Identifier
72	HiLink resolvOptions Identifier
73
74	HiLink resolvComment Comment
75	HiLink resolvOperator Operator
76	HiLink resolvError Error
77	HiLink resolvIPError Error
78	HiLink resolvIPSpecial Special
79
80	delcommand HiLink
81endif
82
83let b:current_syntax = "resolv"
84
85" vim: ts=8 ft=vim
86