Conky 1.5.0 -- client/server prototype
[monky] / extras / vim / syntax / conkyrc.vim
1 " Vim syntax file
2 " Language:   conkyrc
3 " Author:     Ciaran McCreesh <ciaranm@gentoo.org>
4 " Version:    20060307
5 " Copyright:  Copyright (c) 2005 Ciaran McCreesh
6 " Licence:    You may redistribute this under the same terms as Vim itself
7 "
8 " $Id$
9
10 if exists("b:current_syntax")
11   finish
12 endif
13
14 syn region ConkyrcComment start=/^\s*#/ end=/$/
15
16 syn keyword ConkyrcSetting
17         \ alignment
18         \ background
19         \ border_margin
20         \ border_width
21         \ cpu_avg_samples
22         \ default_color
23         \ default_outline_color
24         \ default_shade_color
25         \ dexter_client
26         \ dexter_config
27         \ dexter_server
28         \ double_buffer
29         \ draw_borders
30         \ draw_graph_borders
31         \ draw_outline
32         \ draw_shades
33         \ font
34         \ gap_x
35         \ gap_y
36         \ imap
37         \ mail_spool
38         \ max_port_monitor_connections
39         \ max_specials
40         \ max_user_text
41         \ maximum_width
42         \ minimum_size
43         \ mpd_host
44         \ mpd_password
45         \ mpd_port
46         \ net_avg_samples
47         \ no_buffers
48         \ out_to_console
49         \ override_utf8_locale
50         \ own_window
51         \ own_window_class
52         \ own_window_colour
53         \ own_window_hints
54         \ own_window_title
55         \ own_window_transparent
56         \ own_window_type
57         \ pad_percents
58         \ pop3
59         \ stippled_borders
60         \ total_run_times
61         \ update_interval
62         \ uppercase
63         \ use_spacer
64         \ use_xft
65         \ wm_class_name
66         \ xftalpha
67         \ xftfont
68
69 syn keyword ConkyrcConstant 
70         \ above
71         \ below
72         \ bottom_left
73         \ bottom_right
74         \ desktop
75         \ no
76         \ none
77         \ normal
78         \ override
79         \ skip_pager
80         \ skip_taskbar
81         \ sticky
82         \ top_left
83         \ top_right
84         \ undecorated
85         \ yes
86
87 syn match ConkyrcNumber /\S\@<!\d\+\(\.\d\+\)\?\(\S\@!\|}\@=\)/
88       \ nextgroup=ConkyrcNumber,ConkyrcColour skipwhite
89 syn match ConkyrcColour /\S\@<!#[a-fA-F0-9]\{6\}\(\S\@!\|}\@=\)/
90       \ nextgroup=ConkyrcNumber,ConkyrcColour skipwhite
91
92 syn region ConkyrcText start=/^TEXT$/ end=/\%$/ contains=ConkyrcVar
93
94 syn region ConkyrcVar start=/\${/ end=/}/ contained contains=ConkyrcVarStuff
95 syn region ConkyrcVar start=/\$\w\@=/ end=/\W\@=\|$/ contained contains=ConkyrcVarName
96
97 syn match ConkyrcVarStuff /{\@<=/ms=s contained nextgroup=ConkyrcVarName
98
99 syn keyword ConkyrcVarName contained nextgroup=ConkyrcNumber,ConkyrcColour skipwhite
100         \ acpiacadapter 
101         \ acpifan 
102         \ acpitemp 
103         \ acpitempf 
104         \ addr 
105         \ adt746xcpu
106         \ adt746xfan 
107         \ alignc 
108         \ alignr 
109         \ apm_adapter 
110         \ apm_battery_life 
111         \ apm_battery_time
112         \ audacious_bar
113         \ audacious_bitrate
114         \ audacious_channels
115         \ audacious_filename
116         \ audacious_frequency
117         \ audacious_length
118         \ audacious_length_seconds
119         \ audacious_playlist_length
120         \ audacious_playlist_position
121         \ audacious_position
122         \ audacious_position_seconds
123         \ audacious_status
124         \ audacious_title
125         \ battery 
126         \ battery_time
127         \ bmpx_album 
128         \ bmpx_artist 
129         \ bmpx_bitrate
130         \ bmpx_title 
131         \ bmpx_track 
132         \ bmpx_uri 
133         \ buffers 
134         \ cached 
135         \ color 
136         \ colour 
137         \ cpu 
138         \ cpubar 
139         \ diskio 
140         \ downspeed 
141         \ downspeedf
142         \ else 
143         \ entropy_avail
144         \ entropy_bar
145         \ entropy_poolsize
146         \ exec 
147         \ execbar 
148         \ execgraph 
149         \ execi 
150         \ execibar 
151         \ execigraph 
152         \ font 
153         \ freq
154         \ freq_dyn 
155         \ freq_dyn_g 
156         \ freq_g 
157         \ fs_bar 
158         \ fs_free 
159         \ fs_free_perc 
160         \ fs_size 
161         \ fs_used 
162         \ goto
163         \ hddtemp
164         \ head
165         \ hr 
166         \ i2c 
167         \ i8k_ac_status 
168         \ i8k_bios 
169         \ i8k_buttons_status 
170         \ i8k_cpu_temp 
171         \ i8k_cpu_tempf
172         \ i8k_left_fan_rpm 
173         \ i8k_left_fan_status 
174         \ i8k_right_fan_rpm 
175         \ i8k_right_fan_status
176         \ i8k_serial 
177         \ i8k_version 
178         \ if_existing 
179         \ if_mounted 
180         \ if_running 
181         \ kernel 
182         \ linkstatus 
183         \ loadavg
184         \ machine 
185         \ mails 
186         \ mem 
187         \ membar 
188         \ memmax 
189         \ memperc 
190         \ mpd_album 
191         \ mpd_artist 
192         \ mpd_bar 
193         \ mpd_bitrate 
194         \ mpd_elapsed
195         \ mpd_file
196         \ mpd_length 
197         \ mpd_name
198         \ mpd_percent 
199         \ mpd_smart
200         \ mpd_status 
201         \ mpd_title
202         \ mpd_vol 
203         \ new_mails 
204         \ nodename 
205         \ offset 
206         \ outlinecolor 
207         \ pre_exec 
208         \ processes
209         \ running_processes 
210         \ shadecolor 
211         \ stippled_hr 
212         \ swap 
213         \ swapbar 
214         \ swapmax 
215         \ swapperc 
216         \ sysname
217         \ tab
218         \ tail 
219         \ tcp_portmon 
220         \ texeci 
221         \ time 
222         \ top 
223         \ top_mem 
224         \ totaldown 
225         \ totalup 
226         \ tztime
227         \ updates 
228         \ upspeed 
229         \ upspeedf
230         \ upspeedgraph 
231         \ uptime 
232         \ uptime_short 
233         \ voffset
234         \ voltage_mv
235         \ voltage_v
236
237 hi def link ConkyrcComment   Comment
238 hi def link ConkyrcSetting   Keyword
239 hi def link ConkyrcConstant  Constant
240 hi def link ConkyrcNumber    Number
241 hi def link ConkyrcColour    Special
242
243 hi def link ConkyrcText      String
244 hi def link ConkyrcVar       Identifier
245 hi def link ConkyrcVarName   Keyword
246
247 let b:current_syntax = "conkyrc"