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