1" Vim syntax file
2" Language:         cdrdao(1) configuration file
3" Maintainer:       Nikolai Weibull <now@bitwi.se>
4" Latest Revision:  2007-09-02
5
6if exists("b:current_syntax")
7  finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword cdrdaoconfTodo
14      \ TODO FIXME XXX NOTE
15
16syn match   cdrdaoconfBegin
17      \ display
18      \ nextgroup=@cdrdaoconfKeyword,cdrdaoconfComment
19      \ '^'
20
21syn cluster cdrdaoconfKeyword
22      \ contains=cdrdaoconfIntegerKeyword,
23      \          cdrdaoconfDriverKeyword,
24      \          cdrdaoconfDeviceKeyword,
25      \          cdrdaoconfPathKeyword
26
27syn keyword cdrdaoconfIntegerKeyword
28      \ contained
29      \ nextgroup=cdrdaoconfIntegerDelimiter
30      \ write_speed
31      \ write_buffers
32      \ user_capacity
33      \ full_burn
34      \ read_speed
35      \ cddb_timeout
36
37syn keyword cdrdaoconfIntegerKeyword
38      \ contained
39      \ nextgroup=cdrdaoconfParanoiaModeDelimiter
40      \ read_paranoia_mode
41
42syn keyword cdrdaoconfDriverKeyword
43      \ contained
44      \ nextgroup=cdrdaoconfDriverDelimiter
45      \ write_driver
46      \ read_driver
47
48syn keyword cdrdaoconfDeviceKeyword
49      \ contained
50      \ nextgroup=cdrdaoconfDeviceDelimiter
51      \ write_device
52      \ read_device
53
54syn keyword cdrdaoconfPathKeyword
55      \ contained
56      \ nextgroup=cdrdaoconfPathDelimiter
57      \ cddb_directory
58      \ tmp_file_dir
59
60syn match   cdrdaoconfIntegerDelimiter
61      \ contained
62      \ nextgroup=cdrdaoconfInteger
63      \ skipwhite
64      \ ':'
65
66syn match   cdrdaoconfParanoiaModeDelimiter
67      \ contained
68      \ nextgroup=cdrdaoconfParanoiaMode
69      \ skipwhite
70      \ ':'
71
72syn match   cdrdaoconfDriverDelimiter
73      \ contained
74      \ nextgroup=cdrdaoconfDriver
75      \ skipwhite
76      \ ':'
77
78syn match   cdrdaoconfDeviceDelimiter
79      \ contained
80      \ nextgroup=cdrdaoconfDevice
81      \ skipwhite
82      \ ':'
83
84syn match   cdrdaoconfPathDelimiter
85      \ contained
86      \ nextgroup=cdrdaoconfPath
87      \ skipwhite
88      \ ':'
89
90syn match   cdrdaoconfInteger
91      \ contained
92      \ '\<\d\+\>'
93
94syn match   cdrdaoParanoiaMode
95      \ contained
96      \ '[0123]'
97
98syn match   cdrdaoconfDriver
99      \ contained
100      \ '\<\(cdd2600\|generic-mmc\%(-raw\)\=\|plextor\%(-scan\)\|ricoh-mp6200\|sony-cdu9\%(20\|48\)\|taiyo-yuden\|teac-cdr55\|toshiba\|yamaha-cdr10x\)\>'
101
102syn region  cdrdaoconfDevice
103      \ contained
104      \ matchgroup=cdrdaoconfDevice
105      \ start=+"+
106      \ end=+"+
107
108syn region  cdrdaoconfPath
109      \ contained
110      \ matchgroup=cdrdaoconfPath
111      \ start=+"+
112      \ end=+"+
113
114syn match   cdrdaoconfComment
115      \ contains=cdrdaoconfTodo,@Spell
116      \ '^.*#.*$'
117
118hi def link cdrdaoconfTodo              Todo
119hi def link cdrdaoconfComment           Comment
120hi def link cdrdaoconfKeyword           Keyword
121hi def link cdrdaoconfIntegerKeyword    cdrdaoconfKeyword
122hi def link cdrdaoconfDriverKeyword     cdrdaoconfKeyword
123hi def link cdrdaoconfDeviceKeyword     cdrdaoconfKeyword
124hi def link cdrdaoconfPathKeyword       cdrdaoconfKeyword
125hi def link cdrdaoconfDelimiter         Delimiter
126hi def link cdrdaoconfIntegerDelimiter  cdrdaoconfDelimiter
127hi def link cdrdaoconfDriverDelimiter   cdrdaoconfDelimiter
128hi def link cdrdaoconfDeviceDelimiter   cdrdaoconfDelimiter
129hi def link cdrdaoconfPathDelimiter     cdrdaoconfDelimiter
130hi def link cdrdaoconfInteger           Number
131hi def link cdrdaoconfParanoiaMode      Number
132hi def link cdrdaoconfDriver            Identifier
133hi def link cdrdaoconfDevice            cdrdaoconfPath
134hi def link cdrdaoconfPath              String
135
136let b:current_syntax = "cdrdaoconf"
137
138let &cpo = s:cpo_save
139unlet s:cpo_save
140