blob: a879116a5fe30e291abada1d94da51dd0b31acd0 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarb21e5842006-04-16 18:30:08 +00002" Language: resolver configuration file
Bram Moolenaare6ae6222013-05-21 21:01:10 +02003" 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
7"
8" Credits:
9" David Necas (Yeti) <yeti@physics.muni.cz>
10" Stefano Zacchiroli <zack@debian.org>
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020012" quit when a syntax file was already loaded
13if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000014 finish
15endif
16
17" Errors, comments and operators
18syn match resolvError /./
Bram Moolenaare6ae6222013-05-21 21:01:10 +020019syn match resolvComment /\s*[#;].*$/
20syn match resolvOperator /[\/:]/ contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
22" IP
Bram Moolenaar071d4272004-06-13 20:20:40 +000023syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial
Bram Moolenaare6ae6222013-05-21 21:01:10 +020024syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000025syn 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
Bram Moolenaare6ae6222013-05-21 21:01:10 +020030syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
32" Particular
Bram Moolenaarb21e5842006-04-16 18:30:08 +000033syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000036
37" Identifiers
Bram Moolenaarb21e5842006-04-16 18:30:08 +000038syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite
39syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite
Bram Moolenaar1aeaf8c2012-05-18 13:46:39 +020040syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite
Bram Moolenaarb21e5842006-04-16 18:30:08 +000041syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite
42syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite
43syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
Bram Moolenaar071d4272004-06-13 20:20:40 +000044
45" Options
Bram Moolenaarb21e5842006-04-16 18:30:08 +000046syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000048
49" Additional errors
50syn match resolvError /^search .\{257,}/
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
Bram Moolenaar071d4272004-06-13 20:20:40 +000052
Bram Moolenaarf37506f2016-08-31 22:22:10 +020053hi def link resolvIP Number
54hi def link resolvIPNetmask Number
55hi def link resolvHostname String
56hi def link resolvOption String
Bram Moolenaar071d4272004-06-13 20:20:40 +000057
Bram Moolenaarf37506f2016-08-31 22:22:10 +020058hi def link resolvIPNameserver Number
59hi def link resolvHostnameSearch String
60hi def link resolvIPNetmaskSortList Number
Bram Moolenaar071d4272004-06-13 20:20:40 +000061
Bram Moolenaarf37506f2016-08-31 22:22:10 +020062hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000068
Bram Moolenaarf37506f2016-08-31 22:22:10 +020069hi def link resolvComment Comment
70hi def link resolvOperator Operator
71hi def link resolvError Error
72hi def link resolvIPError Error
73hi def link resolvIPSpecial Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000074
Bram Moolenaar071d4272004-06-13 20:20:40 +000075
76let b:current_syntax = "resolv"
77
78" vim: ts=8 ft=vim