blob: ecf5fd346fc87c116b141eed69fc00e16eb0a36b [file] [log] [blame]
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00001" Vim syntax file
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: dictd(8) configuration file
3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
4" Latest Revision: 2006-04-19
Bram Moolenaar0dc065e2005-07-04 22:49:24 +00005
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