summaryrefslogtreecommitdiff
path: root/runtime/syntax/dictdconf.vim
blob: ecf5fd346fc87c116b141eed69fc00e16eb0a36b (plain)
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
" Vim syntax file
" Language:             dictd(8) configuration file
" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
" Latest Revision:      2006-04-19

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword dictdconfTodo        contained TODO FIXME XXX NOTE

syn region  dictdconfComment    display oneline start='#' end='$'
                                \ contains=dictdconfTodo,dictdconfSpecialC,
                                \ @Spell

syn keyword dictdconfSpecialC   LASTLINE

syn match   dictdconfBegin      display '^'
                                \ nextgroup=dictdconfKeyword,dictdconfComment
                                \ skipwhite

syn keyword dictdconfKeyword    contained access
                                \ nextgroup=dictdconfAccessG skipwhite

syn region  dictdconfAccessG    contained transparent
                                \ matchgroup=dictdconfDelimiter start='{'
                                \ matchgroup=dictdconfDelimiter end='}'
                                \ contains=dictdconfAccess,dictdconfComment

syn keyword dictdconfAccess     contained allow deny authonly user
                                \ nextgroup=dictdconfString skipwhite

syn keyword dictdconfKeyword    contained database
                                \ nextgroup=dictdconfDatabase skipwhite

syn match   dictdconfDatabase   contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
                                \ nextgroup=dictdconfSpecG skipwhite
syn region  dictdconfDatabase   contained display oneline
                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
                                \ nextgroup=dictdconfSpecG skipwhite

syn region  dictdconfSpecG      contained transparent
                                \ matchgroup=dictdconfDelimiter start='{'
                                \ matchgroup=dictdconfDelimiter end='}'
                                \ contains=dictdconfSpec,dictdconfAccess,
                                \ dictdconfComment

syn keyword dictdconfSpec       contained data index index_suffix index_word
                                \ filter prefilter postfilter name info
                                \ disable_strat
                                \ nextgroup=dictdconfString skipwhite

syn keyword dictdconfSpec       contained invisible

syn keyword dictdconfKeyword    contained database_virtual
                                \ nextgroup=dictdconfVDatabase skipwhite

syn match   dictdconfVDatabase  contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
                                \ nextgroup=dictdconfVSpecG skipwhite
syn region  dictdconfVDatabase   contained display oneline
                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
                                \ nextgroup=dictdconfVSpecG skipwhite

syn region  dictdconfVSpecG     contained transparent
                                \ matchgroup=dictdconfDelimiter start='{'
                                \ matchgroup=dictdconfDelimiter end='}'
                                \ contains=dictdconfVSpec,dictdconfAccess,
                                \ dictdconfComment

syn keyword dictdconfVSpec      contained name info database_list disable_strat
                                \ nextgroup=dictdconfString skipwhite

syn keyword dictdconfVSpec      contained invisible

syn keyword dictdconfKeyword    contained database_plugin
                                \ nextgroup=dictdconfPDatabase skipwhite

syn match   dictdconfPDatabase  contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
                                \ nextgroup=dictdconfPSpecG skipwhite
syn region  dictdconfPDatabase   contained display oneline
                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
                                \ nextgroup=dictdconfPSpecG skipwhite

syn region  dictdconfPSpecG     contained transparent
                                \ matchgroup=dictdconfDelimiter start='{'
                                \ matchgroup=dictdconfDelimiter end='}'
                                \ contains=dictdconfPSpec,dictdconfAccess,
                                \ dictdconfComment

syn keyword dictdconfPSpec      contained name info plugin data disable_strat
                                \ nextgroup=dictdconfString skipwhite

syn keyword dictdconfPSpec      contained invisible

syn keyword dictdconfKeyword    contained database_exit

syn keyword dictdconfKeyword    contained site
                                \ nextgroup=dictdconfString skipwhite

syn keyword dictdconfKeyword    contained user
                                \ nextgroup=dictdconfUsername skipwhite

syn match   dictdconfUsername   contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
                                \ nextgroup=dictdconfSecret skipwhite
syn region  dictdconfUsername   contained display oneline
                                \ start=+"+ skip=+""+ end=+"+
                                \ nextgroup=dictdconfSecret skipwhite

syn match   dictdconfSecret     contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
syn region  dictdconfSecret     contained display oneline
                                \ start=+"+ skip=+""+ end=+"+

syn match   dictdconfString     contained display
                                \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
syn region  dictdconfString     contained display oneline
                                \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+

hi def link dictdconfTodo       Todo
hi def link dictdconfComment    Comment
hi def link dictdconfSpecialC   Special
hi def link dictdconfKeyword    Keyword
hi def link dictdconfIdentifier Identifier
hi def link dictdconfAccess     dictdconfIdentifier
hi def link dictdconfDatabase   dictdconfString
hi def link dictdconfSpec       dictdconfIdentifier
hi def link dictdconfVDatabase  dictdconfDatabase
hi def link dictdconfVSpec      dictdconfSpec
hi def link dictdconfPDatabase  dictdconfDatabase
hi def link dictdconfPSpec      dictdconfSpec
hi def link dictdconfUsername   dictdconfString
hi def link dictdconfSecret     Special
hi def link dictdconfString     String
hi def link dictdconfDelimiter  Delimiter

let b:current_syntax = "dictdconf"

let &cpo = s:cpo_save
unlet s:cpo_save