blob: 1744e66f82c178ded6ebe8ede3bef5117c185d5a [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 Moolenaar89bcfda2016-08-30 23:26:57 +020052command! -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020054HiLink resolvIP Number
55HiLink resolvIPNetmask Number
56HiLink resolvHostname String
57HiLink resolvOption String
Bram Moolenaar071d4272004-06-13 20:20:40 +000058
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020059HiLink resolvIPNameserver Number
60HiLink resolvHostnameSearch String
61HiLink resolvIPNetmaskSortList Number
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020063HiLink resolvNameServer Identifier
64HiLink resolvLwserver Identifier
65HiLink resolvDomain Identifier
66HiLink resolvSearch Identifier
67HiLink resolvSortList Identifier
68HiLink resolvOptions Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +000069
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020070HiLink resolvComment Comment
71HiLink resolvOperator Operator
72HiLink resolvError Error
73HiLink resolvIPError Error
74HiLink resolvIPSpecial Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000075
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020076delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000077
78let b:current_syntax = "resolv"
79
80" vim: ts=8 ft=vim