Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/radiance.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: Radiance Scene Description | |
3 " Maintainer: Georg Mischler <schorsch@schorsch.com> | |
4 " Last change: 26. April. 2001 | |
5 | |
6 " Radiance is a lighting simulation software package written | |
7 " by Gregory Ward-Larson ("the computer artist formerly known | |
8 " as Greg Ward"), then at LBNL. | |
9 " | |
10 " http://radsite.lbl.gov/radiance/HOME.html | |
11 " | |
12 " Of course, there is also information available about it | |
13 " from http://www.schorsch.com/ | |
14 | |
15 | |
16 " We take a minimalist approach here, highlighting just the | |
17 " essential properties of each object, its type and ID, as well as | |
18 " comments, external command names and the null-modifier "void". | |
19 | |
20 | |
21 " For version 5.x: Clear all syntax items | |
22 " For version 6.x: Quit when a syntax file was already loaded | |
23 if version < 600 | |
24 syntax clear | |
25 elseif exists("b:current_syntax") | |
26 finish | |
27 endif | |
28 | |
29 " all printing characters except '#' and '!' are valid in names. | |
30 if version >= 600 | |
31 setlocal iskeyword=\",$-~ | |
32 else | |
33 set iskeyword=\",$-~ | |
34 endif | |
35 | |
36 " The null-modifier | |
37 syn keyword radianceKeyword void | |
38 | |
39 " The different kinds of scene description object types | |
40 " Reference types | |
41 syn keyword radianceExtraType contained alias instance | |
42 " Surface types | |
43 syn keyword radianceSurfType contained ring polygon sphere bubble | |
44 syn keyword radianceSurfType contained cone cup cylinder tube source | |
45 " Emitting material types | |
46 syn keyword radianceLightType contained light glow illum spotlight | |
47 " Material types | |
48 syn keyword radianceMatType contained mirror mist prism1 prism2 | |
49 syn keyword radianceMatType contained metal plastic trans | |
50 syn keyword radianceMatType contained metal2 plastic2 trans2 | |
51 syn keyword radianceMatType contained metfunc plasfunc transfunc | |
52 syn keyword radianceMatType contained metdata plasdata transdata | |
53 syn keyword radianceMatType contained dielectric interface glass | |
54 syn keyword radianceMatType contained BRTDfunc antimatter | |
55 " Pattern modifier types | |
56 syn keyword radiancePatType contained colorfunc brightfunc | |
57 syn keyword radiancePatType contained colordata colorpict brightdata | |
58 syn keyword radiancePatType contained colortext brighttext | |
59 " Texture modifier types | |
60 syn keyword radianceTexType contained texfunc texdata | |
61 " Mixture types | |
62 syn keyword radianceMixType contained mixfunc mixdata mixpict mixtext | |
63 | |
64 | |
65 " Each type name is followed by an ID. | |
66 " This doesn't work correctly if the id is one of the type names of the | |
67 " same class (which is legal for radiance), in which case the id will get | |
68 " type color as well, and the int count (or alias reference) gets id color. | |
69 | |
70 syn region radianceID start="\<alias\>" end="\<\k*\>" contains=radianceExtraType | |
71 syn region radianceID start="\<instance\>" end="\<\k*\>" contains=radianceExtraType | |
72 | |
73 syn region radianceID start="\<source\>" end="\<\k*\>" contains=radianceSurfType | |
74 syn region radianceID start="\<ring\>" end="\<\k*\>" contains=radianceSurfType | |
75 syn region radianceID start="\<polygon\>" end="\<\k*\>" contains=radianceSurfType | |
76 syn region radianceID start="\<sphere\>" end="\<\k*\>" contains=radianceSurfType | |
77 syn region radianceID start="\<bubble\>" end="\<\k*\>" contains=radianceSurfType | |
78 syn region radianceID start="\<cone\>" end="\<\k*\>" contains=radianceSurfType | |
79 syn region radianceID start="\<cup\>" end="\<\k*\>" contains=radianceSurfType | |
80 syn region radianceID start="\<cylinder\>" end="\<\k*\>" contains=radianceSurfType | |
81 syn region radianceID start="\<tube\>" end="\<\k*\>" contains=radianceSurfType | |
82 | |
83 syn region radianceID start="\<light\>" end="\<\k*\>" contains=radianceLightType | |
84 syn region radianceID start="\<glow\>" end="\<\k*\>" contains=radianceLightType | |
85 syn region radianceID start="\<illum\>" end="\<\k*\>" contains=radianceLightType | |
86 syn region radianceID start="\<spotlight\>" end="\<\k*\>" contains=radianceLightType | |
87 | |
88 syn region radianceID start="\<mirror\>" end="\<\k*\>" contains=radianceMatType | |
89 syn region radianceID start="\<mist\>" end="\<\k*\>" contains=radianceMatType | |
90 syn region radianceID start="\<prism1\>" end="\<\k*\>" contains=radianceMatType | |
91 syn region radianceID start="\<prism2\>" end="\<\k*\>" contains=radianceMatType | |
92 syn region radianceID start="\<metal\>" end="\<\k*\>" contains=radianceMatType | |
93 syn region radianceID start="\<plastic\>" end="\<\k*\>" contains=radianceMatType | |
94 syn region radianceID start="\<trans\>" end="\<\k*\>" contains=radianceMatType | |
95 syn region radianceID start="\<metal2\>" end="\<\k*\>" contains=radianceMatType | |
96 syn region radianceID start="\<plastic2\>" end="\<\k*\>" contains=radianceMatType | |
97 syn region radianceID start="\<trans2\>" end="\<\k*\>" contains=radianceMatType | |
98 syn region radianceID start="\<metfunc\>" end="\<\k*\>" contains=radianceMatType | |
99 syn region radianceID start="\<plasfunc\>" end="\<\k*\>" contains=radianceMatType | |
100 syn region radianceID start="\<transfunc\>" end="\<\k*\>" contains=radianceMatType | |
101 syn region radianceID start="\<metdata\>" end="\<\k*\>" contains=radianceMatType | |
102 syn region radianceID start="\<plasdata\>" end="\<\k*\>" contains=radianceMatType | |
103 syn region radianceID start="\<transdata\>" end="\<\k*\>" contains=radianceMatType | |
104 syn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType | |
105 syn region radianceID start="\<interface\>" end="\<\k*\>" contains=radianceMatType | |
106 syn region radianceID start="\<glass\>" end="\<\k*\>" contains=radianceMatType | |
107 syn region radianceID start="\<BRTDfunc\>" end="\<\k*\>" contains=radianceMatType | |
108 syn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType | |
109 | |
110 syn region radianceID start="\<colorfunc\>" end="\<\k*\>" contains=radiancePatType | |
111 syn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType | |
112 syn region radianceID start="\<colordata\>" end="\<\k*\>" contains=radiancePatType | |
113 syn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType | |
114 syn region radianceID start="\<colorpict\>" end="\<\k*\>" contains=radiancePatType | |
115 syn region radianceID start="\<colortext\>" end="\<\k*\>" contains=radiancePatType | |
116 syn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType | |
117 | |
118 syn region radianceID start="\<texfunc\>" end="\<\k*\>" contains=radianceTexType | |
119 syn region radianceID start="\<texdata\>" end="\<\k*\>" contains=radianceTexType | |
120 | |
121 syn region radianceID start="\<mixfunc\>" end="\<\k*\>" contains=radianceMixType | |
122 syn region radianceID start="\<mixdata\>" end="\<\k*\>" contains=radianceMixType | |
123 syn region radianceID start="\<mixtext\>" end="\<\k*\>" contains=radianceMixType | |
124 | |
125 " external commands (generators, xform et al.) | |
126 syn match radianceCommand "^\s*!\s*[^\s]\+\>" | |
127 | |
128 " The usual suspects | |
129 syn keyword radianceTodo contained TODO XXX | |
130 syn match radianceComment "#.*$" contains=radianceTodo | |
131 | |
132 " Define the default highlighting. | |
133 " For version 5.7 and earlier: only when not done already | |
134 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
135 if version >= 508 || !exists("did_radiance_syn_inits") | |
136 if version < 508 | |
137 let did_radiance_syn_inits = 1 | |
138 command -nargs=+ HiLink hi link <args> | |
139 else | |
140 command -nargs=+ HiLink hi def link <args> | |
141 endif | |
142 HiLink radianceKeyword Keyword | |
143 HiLink radianceExtraType Type | |
144 HiLink radianceSurfType Type | |
145 HiLink radianceLightType Type | |
146 HiLink radianceMatType Type | |
147 HiLink radiancePatType Type | |
148 HiLink radianceTexType Type | |
149 HiLink radianceMixType Type | |
150 HiLink radianceComment Comment | |
151 HiLink radianceCommand Function | |
152 HiLink radianceID String | |
153 HiLink radianceTodo Todo | |
154 delcommand HiLink | |
155 endif | |
156 | |
157 let b:current_syntax = "radiance" | |
158 | |
159 " vim: ts=8 sw=2 |