2 " Language: dictd(8) configuration file
3 " Maintainer: Nikolai Weibull <now@bitwi.se>
4 " Latest Revision: 2006-04-19
6 if exists("b:current_syntax")
13 syn keyword dictdconfTodo contained TODO FIXME XXX NOTE
15 syn region dictdconfComment display oneline start='#' end='$'
16 \ contains=dictdconfTodo,dictdconfSpecialC,
19 syn keyword dictdconfSpecialC LASTLINE
21 syn match dictdconfBegin display '^'
22 \ nextgroup=dictdconfKeyword,dictdconfComment
25 syn keyword dictdconfKeyword contained access
26 \ nextgroup=dictdconfAccessG skipwhite
28 syn region dictdconfAccessG contained transparent
29 \ matchgroup=dictdconfDelimiter start='{'
30 \ matchgroup=dictdconfDelimiter end='}'
31 \ contains=dictdconfAccess,dictdconfComment
33 syn keyword dictdconfAccess contained allow deny authonly user
34 \ nextgroup=dictdconfString skipwhite
36 syn keyword dictdconfKeyword contained database
37 \ nextgroup=dictdconfDatabase skipwhite
39 syn match dictdconfDatabase contained display
40 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
41 \ nextgroup=dictdconfSpecG skipwhite
42 syn region dictdconfDatabase contained display oneline
43 \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
44 \ nextgroup=dictdconfSpecG skipwhite
46 syn region dictdconfSpecG contained transparent
47 \ matchgroup=dictdconfDelimiter start='{'
48 \ matchgroup=dictdconfDelimiter end='}'
49 \ contains=dictdconfSpec,dictdconfAccess,
52 syn keyword dictdconfSpec contained data index index_suffix index_word
53 \ filter prefilter postfilter name info
55 \ nextgroup=dictdconfString skipwhite
57 syn keyword dictdconfSpec contained invisible
59 syn keyword dictdconfKeyword contained database_virtual
60 \ nextgroup=dictdconfVDatabase skipwhite
62 syn match dictdconfVDatabase contained display
63 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
64 \ nextgroup=dictdconfVSpecG skipwhite
65 syn region dictdconfVDatabase contained display oneline
66 \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
67 \ nextgroup=dictdconfVSpecG skipwhite
69 syn region dictdconfVSpecG contained transparent
70 \ matchgroup=dictdconfDelimiter start='{'
71 \ matchgroup=dictdconfDelimiter end='}'
72 \ contains=dictdconfVSpec,dictdconfAccess,
75 syn keyword dictdconfVSpec contained name info database_list disable_strat
76 \ nextgroup=dictdconfString skipwhite
78 syn keyword dictdconfVSpec contained invisible
80 syn keyword dictdconfKeyword contained database_plugin
81 \ nextgroup=dictdconfPDatabase skipwhite
83 syn match dictdconfPDatabase contained display
84 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
85 \ nextgroup=dictdconfPSpecG skipwhite
86 syn region dictdconfPDatabase contained display oneline
87 \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
88 \ nextgroup=dictdconfPSpecG skipwhite
90 syn region dictdconfPSpecG contained transparent
91 \ matchgroup=dictdconfDelimiter start='{'
92 \ matchgroup=dictdconfDelimiter end='}'
93 \ contains=dictdconfPSpec,dictdconfAccess,
96 syn keyword dictdconfPSpec contained name info plugin data disable_strat
97 \ nextgroup=dictdconfString skipwhite
99 syn keyword dictdconfPSpec contained invisible
101 syn keyword dictdconfKeyword contained database_exit
103 syn keyword dictdconfKeyword contained site
104 \ nextgroup=dictdconfString skipwhite
106 syn keyword dictdconfKeyword contained user
107 \ nextgroup=dictdconfUsername skipwhite
109 syn match dictdconfUsername contained display
110 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
111 \ nextgroup=dictdconfSecret skipwhite
112 syn region dictdconfUsername contained display oneline
113 \ start=+"+ skip=+""+ end=+"+
114 \ nextgroup=dictdconfSecret skipwhite
116 syn match dictdconfSecret contained display
117 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
118 syn region dictdconfSecret contained display oneline
119 \ start=+"+ skip=+""+ end=+"+
121 syn match dictdconfString contained display
122 \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
123 syn region dictdconfString contained display oneline
124 \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
126 hi def link dictdconfTodo Todo
127 hi def link dictdconfComment Comment
128 hi def link dictdconfSpecialC Special
129 hi def link dictdconfKeyword Keyword
130 hi def link dictdconfIdentifier Identifier
131 hi def link dictdconfAccess dictdconfIdentifier
132 hi def link dictdconfDatabase dictdconfString
133 hi def link dictdconfSpec dictdconfIdentifier
134 hi def link dictdconfVDatabase dictdconfDatabase
135 hi def link dictdconfVSpec dictdconfSpec
136 hi def link dictdconfPDatabase dictdconfDatabase
137 hi def link dictdconfPSpec dictdconfSpec
138 hi def link dictdconfUsername dictdconfString
139 hi def link dictdconfSecret Special
140 hi def link dictdconfString String
141 hi def link dictdconfDelimiter Delimiter
143 let b:current_syntax = "dictdconf"
145 let &cpo = s:cpo_save