0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/syntax/resolv.vim

89 lines
3.1 KiB
VimL
Raw Normal View History

2004-06-13 20:20:40 +00:00
" Vim syntax file
2006-04-16 18:30:08 +00:00
" Language: resolver configuration file
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
" URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim
" Last Change: 2013 May 21
" Version: 1.0
"
" Credits:
" David Necas (Yeti) <yeti@physics.muni.cz>
" Stefano Zacchiroli <zack@debian.org>
2004-06-13 20:20:40 +00:00
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Errors, comments and operators
syn match resolvError /./
syn match resolvComment /\s*[#;].*$/
syn match resolvOperator /[\/:]/ contained
2004-06-13 20:20:40 +00:00
" IP
syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial
syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
2004-06-13 20:20:40 +00:00
syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
" General
syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster
syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
2004-06-13 20:20:40 +00:00
" Particular
2006-04-16 18:30:08 +00:00
syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
syn match resolvHostnameSearch contained /\%(\%([-0-9A-Za-z_]\+\.\)*[-0-9A-Za-z_]\+\.\?\%(\s\|$\)\)\+/
syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?\%(\s\|$\)\)\+/ contains=resolvOperator,@resolvIPCluster
2004-06-13 20:20:40 +00:00
" Identifiers
2006-04-16 18:30:08 +00:00
syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite
syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite
2012-05-18 13:46:39 +02:00
syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite
2006-04-16 18:30:08 +00:00
syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite
syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite
syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
2004-06-13 20:20:40 +00:00
" Options
2006-04-16 18:30:08 +00:00
syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite
syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite
2004-06-13 20:20:40 +00:00
" Additional errors
syn match resolvError /^search .\{257,}/
if version >= 508 || !exists("did_config_syntax_inits")
if version < 508
let did_config_syntax_inits = 1
command! -nargs=+ HiLink hi link <args>
else
command! -nargs=+ HiLink hi def link <args>
endif
HiLink resolvIP Number
HiLink resolvIPNetmask Number
HiLink resolvHostname String
HiLink resolvOption String
HiLink resolvIPNameserver Number
HiLink resolvHostnameSearch String
HiLink resolvIPNetmaskSortList Number
HiLink resolvNameServer Identifier
2006-04-16 18:30:08 +00:00
HiLink resolvLwserver Identifier
2004-06-13 20:20:40 +00:00
HiLink resolvDomain Identifier
HiLink resolvSearch Identifier
HiLink resolvSortList Identifier
HiLink resolvOptions Identifier
HiLink resolvComment Comment
HiLink resolvOperator Operator
HiLink resolvError Error
HiLink resolvIPError Error
HiLink resolvIPSpecial Special
delcommand HiLink
endif
let b:current_syntax = "resolv"
" vim: ts=8 ft=vim