1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Radiance Scene Description 3071d4279SBram Moolenaar" Maintainer: Georg Mischler <[email protected]> 4071d4279SBram Moolenaar" Last change: 26. April. 2001 5071d4279SBram Moolenaar 6071d4279SBram Moolenaar" Radiance is a lighting simulation software package written 7071d4279SBram Moolenaar" by Gregory Ward-Larson ("the computer artist formerly known 8071d4279SBram Moolenaar" as Greg Ward"), then at LBNL. 9071d4279SBram Moolenaar" 10071d4279SBram Moolenaar" http://radsite.lbl.gov/radiance/HOME.html 11071d4279SBram Moolenaar" 12071d4279SBram Moolenaar" Of course, there is also information available about it 13071d4279SBram Moolenaar" from http://www.schorsch.com/ 14071d4279SBram Moolenaar 15071d4279SBram Moolenaar 16071d4279SBram Moolenaar" We take a minimalist approach here, highlighting just the 17071d4279SBram Moolenaar" essential properties of each object, its type and ID, as well as 18071d4279SBram Moolenaar" comments, external command names and the null-modifier "void". 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar 2189bcfda6SBram Moolenaar" quit when a syntax file was already loaded 2289bcfda6SBram Moolenaarif exists("b:current_syntax") 23071d4279SBram Moolenaar finish 24071d4279SBram Moolenaarendif 25071d4279SBram Moolenaar 26071d4279SBram Moolenaar" all printing characters except '#' and '!' are valid in names. 27071d4279SBram Moolenaarsetlocal iskeyword=\",$-~ 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" The null-modifier 30071d4279SBram Moolenaarsyn keyword radianceKeyword void 31071d4279SBram Moolenaar 32071d4279SBram Moolenaar" The different kinds of scene description object types 33071d4279SBram Moolenaar" Reference types 34071d4279SBram Moolenaarsyn keyword radianceExtraType contained alias instance 35071d4279SBram Moolenaar" Surface types 36071d4279SBram Moolenaarsyn keyword radianceSurfType contained ring polygon sphere bubble 37071d4279SBram Moolenaarsyn keyword radianceSurfType contained cone cup cylinder tube source 38071d4279SBram Moolenaar" Emitting material types 39071d4279SBram Moolenaarsyn keyword radianceLightType contained light glow illum spotlight 40071d4279SBram Moolenaar" Material types 41071d4279SBram Moolenaarsyn keyword radianceMatType contained mirror mist prism1 prism2 42071d4279SBram Moolenaarsyn keyword radianceMatType contained metal plastic trans 43071d4279SBram Moolenaarsyn keyword radianceMatType contained metal2 plastic2 trans2 44071d4279SBram Moolenaarsyn keyword radianceMatType contained metfunc plasfunc transfunc 45071d4279SBram Moolenaarsyn keyword radianceMatType contained metdata plasdata transdata 46071d4279SBram Moolenaarsyn keyword radianceMatType contained dielectric interface glass 47071d4279SBram Moolenaarsyn keyword radianceMatType contained BRTDfunc antimatter 48071d4279SBram Moolenaar" Pattern modifier types 49071d4279SBram Moolenaarsyn keyword radiancePatType contained colorfunc brightfunc 50071d4279SBram Moolenaarsyn keyword radiancePatType contained colordata colorpict brightdata 51071d4279SBram Moolenaarsyn keyword radiancePatType contained colortext brighttext 52071d4279SBram Moolenaar" Texture modifier types 53071d4279SBram Moolenaarsyn keyword radianceTexType contained texfunc texdata 54071d4279SBram Moolenaar" Mixture types 55071d4279SBram Moolenaarsyn keyword radianceMixType contained mixfunc mixdata mixpict mixtext 56071d4279SBram Moolenaar 57071d4279SBram Moolenaar 58071d4279SBram Moolenaar" Each type name is followed by an ID. 59071d4279SBram Moolenaar" This doesn't work correctly if the id is one of the type names of the 60071d4279SBram Moolenaar" same class (which is legal for radiance), in which case the id will get 61071d4279SBram Moolenaar" type color as well, and the int count (or alias reference) gets id color. 62071d4279SBram Moolenaar 63071d4279SBram Moolenaarsyn region radianceID start="\<alias\>" end="\<\k*\>" contains=radianceExtraType 64071d4279SBram Moolenaarsyn region radianceID start="\<instance\>" end="\<\k*\>" contains=radianceExtraType 65071d4279SBram Moolenaar 66071d4279SBram Moolenaarsyn region radianceID start="\<source\>" end="\<\k*\>" contains=radianceSurfType 67071d4279SBram Moolenaarsyn region radianceID start="\<ring\>" end="\<\k*\>" contains=radianceSurfType 68071d4279SBram Moolenaarsyn region radianceID start="\<polygon\>" end="\<\k*\>" contains=radianceSurfType 69071d4279SBram Moolenaarsyn region radianceID start="\<sphere\>" end="\<\k*\>" contains=radianceSurfType 70071d4279SBram Moolenaarsyn region radianceID start="\<bubble\>" end="\<\k*\>" contains=radianceSurfType 71071d4279SBram Moolenaarsyn region radianceID start="\<cone\>" end="\<\k*\>" contains=radianceSurfType 72071d4279SBram Moolenaarsyn region radianceID start="\<cup\>" end="\<\k*\>" contains=radianceSurfType 73071d4279SBram Moolenaarsyn region radianceID start="\<cylinder\>" end="\<\k*\>" contains=radianceSurfType 74071d4279SBram Moolenaarsyn region radianceID start="\<tube\>" end="\<\k*\>" contains=radianceSurfType 75071d4279SBram Moolenaar 76071d4279SBram Moolenaarsyn region radianceID start="\<light\>" end="\<\k*\>" contains=radianceLightType 77071d4279SBram Moolenaarsyn region radianceID start="\<glow\>" end="\<\k*\>" contains=radianceLightType 78071d4279SBram Moolenaarsyn region radianceID start="\<illum\>" end="\<\k*\>" contains=radianceLightType 79071d4279SBram Moolenaarsyn region radianceID start="\<spotlight\>" end="\<\k*\>" contains=radianceLightType 80071d4279SBram Moolenaar 81071d4279SBram Moolenaarsyn region radianceID start="\<mirror\>" end="\<\k*\>" contains=radianceMatType 82071d4279SBram Moolenaarsyn region radianceID start="\<mist\>" end="\<\k*\>" contains=radianceMatType 83071d4279SBram Moolenaarsyn region radianceID start="\<prism1\>" end="\<\k*\>" contains=radianceMatType 84071d4279SBram Moolenaarsyn region radianceID start="\<prism2\>" end="\<\k*\>" contains=radianceMatType 85071d4279SBram Moolenaarsyn region radianceID start="\<metal\>" end="\<\k*\>" contains=radianceMatType 86071d4279SBram Moolenaarsyn region radianceID start="\<plastic\>" end="\<\k*\>" contains=radianceMatType 87071d4279SBram Moolenaarsyn region radianceID start="\<trans\>" end="\<\k*\>" contains=radianceMatType 88071d4279SBram Moolenaarsyn region radianceID start="\<metal2\>" end="\<\k*\>" contains=radianceMatType 89071d4279SBram Moolenaarsyn region radianceID start="\<plastic2\>" end="\<\k*\>" contains=radianceMatType 90071d4279SBram Moolenaarsyn region radianceID start="\<trans2\>" end="\<\k*\>" contains=radianceMatType 91071d4279SBram Moolenaarsyn region radianceID start="\<metfunc\>" end="\<\k*\>" contains=radianceMatType 92071d4279SBram Moolenaarsyn region radianceID start="\<plasfunc\>" end="\<\k*\>" contains=radianceMatType 93071d4279SBram Moolenaarsyn region radianceID start="\<transfunc\>" end="\<\k*\>" contains=radianceMatType 94071d4279SBram Moolenaarsyn region radianceID start="\<metdata\>" end="\<\k*\>" contains=radianceMatType 95071d4279SBram Moolenaarsyn region radianceID start="\<plasdata\>" end="\<\k*\>" contains=radianceMatType 96071d4279SBram Moolenaarsyn region radianceID start="\<transdata\>" end="\<\k*\>" contains=radianceMatType 97071d4279SBram Moolenaarsyn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType 98071d4279SBram Moolenaarsyn region radianceID start="\<interface\>" end="\<\k*\>" contains=radianceMatType 99071d4279SBram Moolenaarsyn region radianceID start="\<glass\>" end="\<\k*\>" contains=radianceMatType 100071d4279SBram Moolenaarsyn region radianceID start="\<BRTDfunc\>" end="\<\k*\>" contains=radianceMatType 101071d4279SBram Moolenaarsyn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType 102071d4279SBram Moolenaar 103071d4279SBram Moolenaarsyn region radianceID start="\<colorfunc\>" end="\<\k*\>" contains=radiancePatType 104071d4279SBram Moolenaarsyn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType 105071d4279SBram Moolenaarsyn region radianceID start="\<colordata\>" end="\<\k*\>" contains=radiancePatType 106071d4279SBram Moolenaarsyn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType 107071d4279SBram Moolenaarsyn region radianceID start="\<colorpict\>" end="\<\k*\>" contains=radiancePatType 108071d4279SBram Moolenaarsyn region radianceID start="\<colortext\>" end="\<\k*\>" contains=radiancePatType 109071d4279SBram Moolenaarsyn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType 110071d4279SBram Moolenaar 111071d4279SBram Moolenaarsyn region radianceID start="\<texfunc\>" end="\<\k*\>" contains=radianceTexType 112071d4279SBram Moolenaarsyn region radianceID start="\<texdata\>" end="\<\k*\>" contains=radianceTexType 113071d4279SBram Moolenaar 114071d4279SBram Moolenaarsyn region radianceID start="\<mixfunc\>" end="\<\k*\>" contains=radianceMixType 115071d4279SBram Moolenaarsyn region radianceID start="\<mixdata\>" end="\<\k*\>" contains=radianceMixType 116071d4279SBram Moolenaarsyn region radianceID start="\<mixtext\>" end="\<\k*\>" contains=radianceMixType 117071d4279SBram Moolenaar 118071d4279SBram Moolenaar" external commands (generators, xform et al.) 119071d4279SBram Moolenaarsyn match radianceCommand "^\s*!\s*[^\s]\+\>" 120071d4279SBram Moolenaar 121071d4279SBram Moolenaar" The usual suspects 122071d4279SBram Moolenaarsyn keyword radianceTodo contained TODO XXX 123071d4279SBram Moolenaarsyn match radianceComment "#.*$" contains=radianceTodo 124071d4279SBram Moolenaar 125071d4279SBram Moolenaar" Define the default highlighting. 12689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 127*f37506f6SBram Moolenaarhi def link radianceKeyword Keyword 128*f37506f6SBram Moolenaarhi def link radianceExtraType Type 129*f37506f6SBram Moolenaarhi def link radianceSurfType Type 130*f37506f6SBram Moolenaarhi def link radianceLightType Type 131*f37506f6SBram Moolenaarhi def link radianceMatType Type 132*f37506f6SBram Moolenaarhi def link radiancePatType Type 133*f37506f6SBram Moolenaarhi def link radianceTexType Type 134*f37506f6SBram Moolenaarhi def link radianceMixType Type 135*f37506f6SBram Moolenaarhi def link radianceComment Comment 136*f37506f6SBram Moolenaarhi def link radianceCommand Function 137*f37506f6SBram Moolenaarhi def link radianceID String 138*f37506f6SBram Moolenaarhi def link radianceTodo Todo 139071d4279SBram Moolenaar 140071d4279SBram Moolenaarlet b:current_syntax = "radiance" 141071d4279SBram Moolenaar 142071d4279SBram Moolenaar" vim: ts=8 sw=2 143