radiance.vim (7155B)
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 " quit when a syntax file was already loaded 22 if exists("b:current_syntax") 23 finish 24 endif 25 26 " all printing characters except '#' and '!' are valid in names. 27 setlocal iskeyword=\",$-~ 28 29 " The null-modifier 30 syn keyword radianceKeyword void 31 32 " The different kinds of scene description object types 33 " Reference types 34 syn keyword radianceExtraType contained alias instance 35 " Surface types 36 syn keyword radianceSurfType contained ring polygon sphere bubble 37 syn keyword radianceSurfType contained cone cup cylinder tube source 38 " Emitting material types 39 syn keyword radianceLightType contained light glow illum spotlight 40 " Material types 41 syn keyword radianceMatType contained mirror mist prism1 prism2 42 syn keyword radianceMatType contained metal plastic trans 43 syn keyword radianceMatType contained metal2 plastic2 trans2 44 syn keyword radianceMatType contained metfunc plasfunc transfunc 45 syn keyword radianceMatType contained metdata plasdata transdata 46 syn keyword radianceMatType contained dielectric interface glass 47 syn keyword radianceMatType contained BRTDfunc antimatter 48 " Pattern modifier types 49 syn keyword radiancePatType contained colorfunc brightfunc 50 syn keyword radiancePatType contained colordata colorpict brightdata 51 syn keyword radiancePatType contained colortext brighttext 52 " Texture modifier types 53 syn keyword radianceTexType contained texfunc texdata 54 " Mixture types 55 syn keyword radianceMixType contained mixfunc mixdata mixpict mixtext 56 57 58 " Each type name is followed by an ID. 59 " This doesn't work correctly if the id is one of the type names of the 60 " same class (which is legal for radiance), in which case the id will get 61 " type color as well, and the int count (or alias reference) gets id color. 62 63 syn region radianceID start="\<alias\>" end="\<\k*\>" contains=radianceExtraType 64 syn region radianceID start="\<instance\>" end="\<\k*\>" contains=radianceExtraType 65 66 syn region radianceID start="\<source\>" end="\<\k*\>" contains=radianceSurfType 67 syn region radianceID start="\<ring\>" end="\<\k*\>" contains=radianceSurfType 68 syn region radianceID start="\<polygon\>" end="\<\k*\>" contains=radianceSurfType 69 syn region radianceID start="\<sphere\>" end="\<\k*\>" contains=radianceSurfType 70 syn region radianceID start="\<bubble\>" end="\<\k*\>" contains=radianceSurfType 71 syn region radianceID start="\<cone\>" end="\<\k*\>" contains=radianceSurfType 72 syn region radianceID start="\<cup\>" end="\<\k*\>" contains=radianceSurfType 73 syn region radianceID start="\<cylinder\>" end="\<\k*\>" contains=radianceSurfType 74 syn region radianceID start="\<tube\>" end="\<\k*\>" contains=radianceSurfType 75 76 syn region radianceID start="\<light\>" end="\<\k*\>" contains=radianceLightType 77 syn region radianceID start="\<glow\>" end="\<\k*\>" contains=radianceLightType 78 syn region radianceID start="\<illum\>" end="\<\k*\>" contains=radianceLightType 79 syn region radianceID start="\<spotlight\>" end="\<\k*\>" contains=radianceLightType 80 81 syn region radianceID start="\<mirror\>" end="\<\k*\>" contains=radianceMatType 82 syn region radianceID start="\<mist\>" end="\<\k*\>" contains=radianceMatType 83 syn region radianceID start="\<prism1\>" end="\<\k*\>" contains=radianceMatType 84 syn region radianceID start="\<prism2\>" end="\<\k*\>" contains=radianceMatType 85 syn region radianceID start="\<metal\>" end="\<\k*\>" contains=radianceMatType 86 syn region radianceID start="\<plastic\>" end="\<\k*\>" contains=radianceMatType 87 syn region radianceID start="\<trans\>" end="\<\k*\>" contains=radianceMatType 88 syn region radianceID start="\<metal2\>" end="\<\k*\>" contains=radianceMatType 89 syn region radianceID start="\<plastic2\>" end="\<\k*\>" contains=radianceMatType 90 syn region radianceID start="\<trans2\>" end="\<\k*\>" contains=radianceMatType 91 syn region radianceID start="\<metfunc\>" end="\<\k*\>" contains=radianceMatType 92 syn region radianceID start="\<plasfunc\>" end="\<\k*\>" contains=radianceMatType 93 syn region radianceID start="\<transfunc\>" end="\<\k*\>" contains=radianceMatType 94 syn region radianceID start="\<metdata\>" end="\<\k*\>" contains=radianceMatType 95 syn region radianceID start="\<plasdata\>" end="\<\k*\>" contains=radianceMatType 96 syn region radianceID start="\<transdata\>" end="\<\k*\>" contains=radianceMatType 97 syn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType 98 syn region radianceID start="\<interface\>" end="\<\k*\>" contains=radianceMatType 99 syn region radianceID start="\<glass\>" end="\<\k*\>" contains=radianceMatType 100 syn region radianceID start="\<BRTDfunc\>" end="\<\k*\>" contains=radianceMatType 101 syn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType 102 103 syn region radianceID start="\<colorfunc\>" end="\<\k*\>" contains=radiancePatType 104 syn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType 105 syn region radianceID start="\<colordata\>" end="\<\k*\>" contains=radiancePatType 106 syn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType 107 syn region radianceID start="\<colorpict\>" end="\<\k*\>" contains=radiancePatType 108 syn region radianceID start="\<colortext\>" end="\<\k*\>" contains=radiancePatType 109 syn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType 110 111 syn region radianceID start="\<texfunc\>" end="\<\k*\>" contains=radianceTexType 112 syn region radianceID start="\<texdata\>" end="\<\k*\>" contains=radianceTexType 113 114 syn region radianceID start="\<mixfunc\>" end="\<\k*\>" contains=radianceMixType 115 syn region radianceID start="\<mixdata\>" end="\<\k*\>" contains=radianceMixType 116 syn region radianceID start="\<mixtext\>" end="\<\k*\>" contains=radianceMixType 117 118 " external commands (generators, xform et al.) 119 syn match radianceCommand "^\s*!\s*[^\s]\+\>" 120 121 " The usual suspects 122 syn keyword radianceTodo contained TODO XXX 123 syn match radianceComment "#.*$" contains=radianceTodo 124 125 " Define the default highlighting. 126 " Only when an item doesn't have highlighting yet 127 hi def link radianceKeyword Keyword 128 hi def link radianceExtraType Type 129 hi def link radianceSurfType Type 130 hi def link radianceLightType Type 131 hi def link radianceMatType Type 132 hi def link radiancePatType Type 133 hi def link radianceTexType Type 134 hi def link radianceMixType Type 135 hi def link radianceComment Comment 136 hi def link radianceCommand Function 137 hi def link radianceID String 138 hi def link radianceTodo Todo 139 140 let b:current_syntax = "radiance" 141 142 " vim: ts=8 sw=2