radiance.vim 7.0 KB

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