" Vim syntax file " Language: Radiance Scene Description " Maintainer: Georg Mischler " Last Change: 01. Nov. 1998 " Radiance is a lighting simulation software package written " by Gregory Ward-Larson ("the computer artist formerly known " as Greg Ward"), then at lbnl. " " http://radsite.lbl.gov/radiance/HOME.html " " Of course, there is also information available about it " from http://www.schorsch.com/ ;-) " We take a minimalist approach here, highlighting just " the essential properties of each object, its type and Id, " as well as comments, external command names and the " null-modifier "void". " Remove any old syntax stuff hanging around syn clear " The null-modifier syn keyword radianceKeyword void " The different kinds of scene description object types " Reference types syn keyword radianceExtraType contained alias instance " Surface types syn keyword radianceSurfType contained source syn keyword radianceSurfType contained ring polygon syn keyword radianceSurfType contained sphere bubble syn keyword radianceSurfType contained cone cup syn keyword radianceSurfType contained cylinder tube " Emitting material types syn keyword radianceLightType contained light glow syn keyword radianceLightType contained illum spotlight " Material types syn keyword radianceMatType contained mirror mist syn keyword radianceMatType contained prism1 prism2 syn keyword radianceMatType contained metal plastic trans syn keyword radianceMatType contained metal2 plastic2 trans2 syn keyword radianceMatType contained metfunc plasfunc transfunc syn keyword radianceMatType contained metdata plasdata transdata syn keyword radianceMatType contained dielectric interface glass syn keyword radianceMatType contained BRTDfunc antimatter " Pattern modifier types syn keyword radiancePatType contained colorfunc brightfunc syn keyword radiancePatType contained colordata brightdata syn keyword radiancePatType contained colorpict syn keyword radiancePatType contained colortext brighttext " Texture modifier types syn keyword radianceTexType contained texfunc texdata " Mixture types syn keyword radianceMixType contained mixfunc mixdata mixtext " Each type name is followed by an ID: all up to the next "end of word". " We need this complicated end of word pattern, because I am to lazy to " figure out the correct setting of "iskeyword"... " This doesn't work correctly, if the id is one of the type names of the " same class (which is legal!), in which case the id will get type color, " and the int count gets id color. syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceExtraType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceExtraType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceSurfType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceLightType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceLightType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceLightType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceLightType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radiancePatType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceTexType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceTexType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMixType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMixType syn region radianceID start="\" end="[^ \t]\($\|\s\)" contains=radianceMixType " external commands (generators, xform et al.) syn match radianceCommand "^\s*!\s*[^\s]\+\>" " The usual suspects syn keyword radianceTodo contained TODO XXX syn match radianceComment "#.*$" contains=radianceTodo if !exists("did_radiance_syntax_inits") let did_radiance_syntax_inits = 1 " The default methods for highlighting. Can be overridden later hi link radianceKeyword Keyword hi link radianceExtraType Type hi link radianceSurfType Type hi link radianceLightType Type hi link radianceMatType Type hi link radiancePatType Type hi link radianceTexType Type hi link radianceMixType Type hi link radianceComment Comment hi link radianceCommand Function hi link radianceID String hi link radianceTodo Todo endif let b:current_syntax = "radiance" " vim: ts=8