/usr/share/vim/vim74/syntax/hostconf.vim is in vim-runtime 2:7.4.052-1ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | " Vim syntax file
" Language: host.conf(5) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-06-25
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword hostconfTodo
\ contained
\ TODO
\ FIXME
\ XXX
\ NOTE
syn match hostconfComment
\ display
\ contained
\ '\s*#.*'
\ contains=hostconfTodo,
\ @Spell
syn match hostconfBegin
\ display
\ '^'
\ nextgroup=hostconfComment,hostconfKeyword
\ skipwhite
syn keyword hostconfKeyword
\ contained
\ order
\ nextgroup=hostconfLookupOrder
\ skipwhite
let s:orders = ['bind', 'hosts', 'nis']
function s:permute_suffixes(list)
if empty(a:list)
return []
elseif len(a:list) == 1
return a:list[0]
else
let i = 0
let n = len(a:list)
let sub_permutations = []
while i < n
let list_copy = copy(a:list)
let removed = list_copy[i]
call remove(list_copy, i)
call add(sub_permutations, [removed, s:permute_suffixes(list_copy)])
let i += 1
endwhile
return sub_permutations
endif
endfunction
function s:generate_suffix_groups(list_of_order_of_orders, context, trailing_context)
for order_of_orders in a:list_of_order_of_orders
let order = order_of_orders[0]
let trailing_context = a:trailing_context . toupper(order[0]) . order[1:]
let nextgroup = 'hostconfLookupOrder' . trailing_context
let nextgroup_delimiter = nextgroup . 'Delimiter'
let group = 'hostconfLookupOrder' . a:context
execute 'syn keyword' group 'contained' order 'nextgroup=' . nextgroup_delimiter 'skipwhite'
execute 'syn match' nextgroup_delimiter 'contained display "," nextgroup=' . nextgroup 'skipwhite'
if a:context != ""
execute 'hi def link' group 'hostconfLookupOrder'
endif
execute 'hi def link' nextgroup_delimiter 'hostconfLookupOrderDelimiter'
let context = trailing_context
if type(order_of_orders[1]) == type([])
call s:generate_suffix_groups(order_of_orders[1], context, trailing_context)
else
execute 'syn keyword hostconfLookupOrder' . context 'contained' order_of_orders[-1]
execute 'hi def link hostconfLookupOrder' . context 'hostconfLookupOrder'
endif
endfor
endfunction
call s:generate_suffix_groups(s:permute_suffixes(s:orders), "", "")
delfunction s:generate_suffix_groups
delfunction s:permute_suffixes
syn keyword hostconfKeyword
\ contained
\ trim
\ nextgroup=hostconfDomain
\ skipwhite
syn match hostconfDomain
\ contained
\ '\.[^:;,[:space:]]\+'
\ nextgroup=hostconfDomainDelimiter
\ skipwhite
syn match hostconfDomainDelimiter
\ contained
\ display
\ '[:;,]'
\ nextgroup=hostconfDomain
\ skipwhite
syn keyword hostconfKeyword
\ contained
\ multi
\ nospoof
\ spoofalert
\ reorder
\ nextgroup=hostconfBoolean
\ skipwhite
syn keyword hostconfBoolean
\ contained
\ on
\ off
syn keyword hostconfKeyword
\ contained
\ spoof
\ nextgroup=hostconfSpoofValue
\ skipwhite
syn keyword hostconfSpoofValue
\ contained
\ off
\ nowarn
\ warn
hi def link hostconfTodo Todo
hi def link hostconfComment Comment
hi def link hostconfKeyword Keyword
hi def link hostconfLookupOrder Identifier
hi def link hostconfLookupOrderDelimiter Delimiter
hi def link hostconfDomain String
hi def link hostconfDomainDelimiter Delimiter
hi def link hostconfBoolean Boolean
hi def link hostconfSpoofValue hostconfBoolean
let b:current_syntax = "hostconf"
let &cpo = s:cpo_save
unlet s:cpo_save
|