diff --git a/runtime/syntax/radiance.vim b/runtime/syntax/radiance.vim
new file mode 100644
index 0000000..461b708
--- /dev/null
+++ b/runtime/syntax/radiance.vim
@@ -0,0 +1,159 @@
+" Vim syntax file
+" Language:     Radiance Scene Description
+" Maintainer:   Georg Mischler <schorsch@schorsch.com>
+" Last change:  26. April. 2001
+
+" 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".
+
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" all printing characters except '#' and '!' are valid in names.
+if version >= 600
+  setlocal iskeyword=\",$-~
+else
+  set iskeyword=\",$-~
+endif
+
+" 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 ring polygon sphere bubble
+syn keyword radianceSurfType contained cone cup cylinder tube source
+" Emitting material types
+syn keyword radianceLightType contained light glow illum spotlight
+" Material types
+syn keyword radianceMatType contained mirror mist 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 colorpict brightdata
+syn keyword radiancePatType contained colortext brighttext
+" Texture modifier types
+syn keyword radianceTexType contained texfunc texdata
+" Mixture types
+syn keyword radianceMixType contained mixfunc mixdata mixpict mixtext
+
+
+" Each type name is followed by an ID.
+" This doesn't work correctly if the id is one of the type names of the
+" same class (which is legal for radiance), in which case the id will get
+" type color as well, and the int count (or alias reference) gets id color.
+
+syn region radianceID start="\<alias\>"      end="\<\k*\>" contains=radianceExtraType
+syn region radianceID start="\<instance\>"   end="\<\k*\>" contains=radianceExtraType
+
+syn region radianceID start="\<source\>"     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<ring\>"	     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<polygon\>"    end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<sphere\>"     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<bubble\>"     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<cone\>"	     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<cup\>"	     end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<cylinder\>"   end="\<\k*\>" contains=radianceSurfType
+syn region radianceID start="\<tube\>"	     end="\<\k*\>" contains=radianceSurfType
+
+syn region radianceID start="\<light\>"      end="\<\k*\>" contains=radianceLightType
+syn region radianceID start="\<glow\>"	     end="\<\k*\>" contains=radianceLightType
+syn region radianceID start="\<illum\>"      end="\<\k*\>" contains=radianceLightType
+syn region radianceID start="\<spotlight\>"  end="\<\k*\>" contains=radianceLightType
+
+syn region radianceID start="\<mirror\>"     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<mist\>"	     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<prism1\>"     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<prism2\>"     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<metal\>"      end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<plastic\>"    end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<trans\>"      end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<metal2\>"     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<plastic2\>"   end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<trans2\>"     end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<metfunc\>"    end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<plasfunc\>"   end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<transfunc\>"  end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<metdata\>"    end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<plasdata\>"   end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<transdata\>"  end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<interface\>"  end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<glass\>"      end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<BRTDfunc\>"   end="\<\k*\>" contains=radianceMatType
+syn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType
+
+syn region radianceID start="\<colorfunc\>"  end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<colordata\>"  end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<colorpict\>"  end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<colortext\>"  end="\<\k*\>" contains=radiancePatType
+syn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType
+
+syn region radianceID start="\<texfunc\>"    end="\<\k*\>" contains=radianceTexType
+syn region radianceID start="\<texdata\>"    end="\<\k*\>" contains=radianceTexType
+
+syn region radianceID start="\<mixfunc\>"    end="\<\k*\>" contains=radianceMixType
+syn region radianceID start="\<mixdata\>"    end="\<\k*\>" contains=radianceMixType
+syn region radianceID start="\<mixtext\>"    end="\<\k*\>" 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
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_radiance_syn_inits")
+  if version < 508
+    let did_radiance_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+  HiLink radianceKeyword	Keyword
+  HiLink radianceExtraType	Type
+  HiLink radianceSurfType	Type
+  HiLink radianceLightType	Type
+  HiLink radianceMatType	Type
+  HiLink radiancePatType	Type
+  HiLink radianceTexType	Type
+  HiLink radianceMixType	Type
+  HiLink radianceComment	Comment
+  HiLink radianceCommand	Function
+  HiLink radianceID		String
+  HiLink radianceTodo		Todo
+  delcommand HiLink
+endif
+
+let b:current_syntax = "radiance"
+
+" vim: ts=8 sw=2
