xref: /vim-8.2.3635/runtime/syntax/dictdconf.vim (revision 214641f7)
1" Vim syntax file
2" Language:             dictd(8) configuration file
3" Previous Maintainer:  Nikolai Weibull <[email protected]>
4" Latest Revision:      2006-04-19
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword dictdconfTodo        contained TODO FIXME XXX NOTE
14
15syn region  dictdconfComment    display oneline start='#' end='$'
16                                \ contains=dictdconfTodo,dictdconfSpecialC,
17                                \ @Spell
18
19syn keyword dictdconfSpecialC   LASTLINE
20
21syn match   dictdconfBegin      display '^'
22                                \ nextgroup=dictdconfKeyword,dictdconfComment
23                                \ skipwhite
24
25syn keyword dictdconfKeyword    contained access
26                                \ nextgroup=dictdconfAccessG skipwhite
27
28syn region  dictdconfAccessG    contained transparent
29                                \ matchgroup=dictdconfDelimiter start='{'
30                                \ matchgroup=dictdconfDelimiter end='}'
31                                \ contains=dictdconfAccess,dictdconfComment
32
33syn keyword dictdconfAccess     contained allow deny authonly user
34                                \ nextgroup=dictdconfString skipwhite
35
36syn keyword dictdconfKeyword    contained database
37                                \ nextgroup=dictdconfDatabase skipwhite
38
39syn match   dictdconfDatabase   contained display
40                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
41                                \ nextgroup=dictdconfSpecG skipwhite
42syn region  dictdconfDatabase   contained display oneline
43                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
44                                \ nextgroup=dictdconfSpecG skipwhite
45
46syn region  dictdconfSpecG      contained transparent
47                                \ matchgroup=dictdconfDelimiter start='{'
48                                \ matchgroup=dictdconfDelimiter end='}'
49                                \ contains=dictdconfSpec,dictdconfAccess,
50                                \ dictdconfComment
51
52syn keyword dictdconfSpec       contained data index index_suffix index_word
53                                \ filter prefilter postfilter name info
54                                \ disable_strat
55                                \ nextgroup=dictdconfString skipwhite
56
57syn keyword dictdconfSpec       contained invisible
58
59syn keyword dictdconfKeyword    contained database_virtual
60                                \ nextgroup=dictdconfVDatabase skipwhite
61
62syn match   dictdconfVDatabase  contained display
63                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
64                                \ nextgroup=dictdconfVSpecG skipwhite
65syn region  dictdconfVDatabase   contained display oneline
66                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
67                                \ nextgroup=dictdconfVSpecG skipwhite
68
69syn region  dictdconfVSpecG     contained transparent
70                                \ matchgroup=dictdconfDelimiter start='{'
71                                \ matchgroup=dictdconfDelimiter end='}'
72                                \ contains=dictdconfVSpec,dictdconfAccess,
73                                \ dictdconfComment
74
75syn keyword dictdconfVSpec      contained name info database_list disable_strat
76                                \ nextgroup=dictdconfString skipwhite
77
78syn keyword dictdconfVSpec      contained invisible
79
80syn keyword dictdconfKeyword    contained database_plugin
81                                \ nextgroup=dictdconfPDatabase skipwhite
82
83syn match   dictdconfPDatabase  contained display
84                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
85                                \ nextgroup=dictdconfPSpecG skipwhite
86syn region  dictdconfPDatabase   contained display oneline
87                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
88                                \ nextgroup=dictdconfPSpecG skipwhite
89
90syn region  dictdconfPSpecG     contained transparent
91                                \ matchgroup=dictdconfDelimiter start='{'
92                                \ matchgroup=dictdconfDelimiter end='}'
93                                \ contains=dictdconfPSpec,dictdconfAccess,
94                                \ dictdconfComment
95
96syn keyword dictdconfPSpec      contained name info plugin data disable_strat
97                                \ nextgroup=dictdconfString skipwhite
98
99syn keyword dictdconfPSpec      contained invisible
100
101syn keyword dictdconfKeyword    contained database_exit
102
103syn keyword dictdconfKeyword    contained site
104                                \ nextgroup=dictdconfString skipwhite
105
106syn keyword dictdconfKeyword    contained user
107                                \ nextgroup=dictdconfUsername skipwhite
108
109syn match   dictdconfUsername   contained display
110                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
111                                \ nextgroup=dictdconfSecret skipwhite
112syn region  dictdconfUsername   contained display oneline
113                                \ start=+"+ skip=+""+ end=+"+
114                                \ nextgroup=dictdconfSecret skipwhite
115
116syn match   dictdconfSecret     contained display
117                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
118syn region  dictdconfSecret     contained display oneline
119                                \ start=+"+ skip=+""+ end=+"+
120
121syn match   dictdconfString     contained display
122                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
123syn region  dictdconfString     contained display oneline
124                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
125
126hi def link dictdconfTodo       Todo
127hi def link dictdconfComment    Comment
128hi def link dictdconfSpecialC   Special
129hi def link dictdconfKeyword    Keyword
130hi def link dictdconfIdentifier Identifier
131hi def link dictdconfAccess     dictdconfIdentifier
132hi def link dictdconfDatabase   dictdconfString
133hi def link dictdconfSpec       dictdconfIdentifier
134hi def link dictdconfVDatabase  dictdconfDatabase
135hi def link dictdconfVSpec      dictdconfSpec
136hi def link dictdconfPDatabase  dictdconfDatabase
137hi def link dictdconfPSpec      dictdconfSpec
138hi def link dictdconfUsername   dictdconfString
139hi def link dictdconfSecret     Special
140hi def link dictdconfString     String
141hi def link dictdconfDelimiter  Delimiter
142
143let b:current_syntax = "dictdconf"
144
145let &cpo = s:cpo_save
146unlet s:cpo_save
147