home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / mac / vim55rt.sit / runtime / syntax / radiance.vim < prev    next >
Encoding:
Text File  |  1999-09-25  |  7.5 KB  |  149 lines  |  [TEXT/VIM!]

  1. " Vim syntax file
  2. " Language:        Radiance Scene Description
  3. " Maintainer:    Georg Mischler <schorsch@schorsch.com>
  4. " Last change:    01. Nov. 1998
  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
  17. " the essential properties of each object, its type and Id,
  18. " as well as comments, external command names and the
  19. " null-modifier "void".
  20.  
  21.  
  22. " Remove any old syntax stuff hanging around
  23. syn clear
  24.  
  25. " The null-modifier
  26. syn keyword radianceKeyword void
  27.  
  28. " The different kinds of scene description object types
  29. " Reference types
  30. syn keyword radianceExtraType contained alias instance
  31. " Surface types
  32. syn keyword radianceSurfType contained source
  33. syn keyword radianceSurfType contained ring polygon
  34. syn keyword radianceSurfType contained sphere bubble
  35. syn keyword radianceSurfType contained cone cup
  36. syn keyword radianceSurfType contained cylinder tube
  37. " Emitting material types
  38. syn keyword radianceLightType contained light glow
  39. syn keyword radianceLightType contained illum spotlight
  40. " Material types
  41. syn keyword radianceMatType contained mirror mist
  42. syn keyword radianceMatType contained prism1 prism2
  43. syn keyword radianceMatType contained metal plastic trans
  44. syn keyword radianceMatType contained metal2 plastic2 trans2
  45. syn keyword radianceMatType contained metfunc plasfunc transfunc
  46. syn keyword radianceMatType contained metdata plasdata transdata
  47. syn keyword radianceMatType contained dielectric interface glass
  48. syn keyword radianceMatType contained BRTDfunc antimatter
  49. " Pattern modifier types
  50. syn keyword radiancePatType contained colorfunc brightfunc
  51. syn keyword radiancePatType contained colordata brightdata
  52. syn keyword radiancePatType contained colorpict
  53. syn keyword radiancePatType contained colortext brighttext
  54. " Texture modifier types
  55. syn keyword radianceTexType contained texfunc texdata
  56. " Mixture types
  57. syn keyword radianceMixType contained mixfunc mixdata mixtext
  58.  
  59. " Each type name is followed by an ID: all up to the next "end of word".
  60. " We need this complicated end of word pattern, because I am to lazy to
  61. " figure out the correct setting of "iskeyword"...
  62. " This doesn't work correctly, if the id is one of the type names of the
  63. " same class (which is legal!), in which case the id will get type color,
  64. " and the int count gets id color.
  65.  
  66. syn region radianceID start="\<alias\>" end="[^ \t]\($\|\s\)" contains=radianceExtraType
  67. syn region radianceID start="\<instance\>" end="[^ \t]\($\|\s\)" contains=radianceExtraType
  68.  
  69. syn region radianceID start="\<source\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  70. syn region radianceID start="\<ring\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  71. syn region radianceID start="\<polygon\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  72. syn region radianceID start="\<sphere\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  73. syn region radianceID start="\<bubble\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  74. syn region radianceID start="\<cone\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  75. syn region radianceID start="\<cup\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  76. syn region radianceID start="\<cylinder\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  77. syn region radianceID start="\<tube\>" end="[^ \t]\($\|\s\)" contains=radianceSurfType
  78.  
  79. syn region radianceID start="\<light\>" end="[^ \t]\($\|\s\)" contains=radianceLightType
  80. syn region radianceID start="\<glow\>" end="[^ \t]\($\|\s\)" contains=radianceLightType
  81. syn region radianceID start="\<illum\>" end="[^ \t]\($\|\s\)" contains=radianceLightType
  82. syn region radianceID start="\<spotlight\>" end="[^ \t]\($\|\s\)" contains=radianceLightType
  83.  
  84. syn region radianceID start="\<mirror\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  85. syn region radianceID start="\<mist\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  86. syn region radianceID start="\<prism1\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  87. syn region radianceID start="\<prism2\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  88. syn region radianceID start="\<metal\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  89. syn region radianceID start="\<plastic\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  90. syn region radianceID start="\<trans\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  91. syn region radianceID start="\<metal2\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  92. syn region radianceID start="\<plastic2\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  93. syn region radianceID start="\<trans2\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  94. syn region radianceID start="\<metfunc\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  95. syn region radianceID start="\<plasfunc\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  96. syn region radianceID start="\<transfunc\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  97. syn region radianceID start="\<metdata\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  98. syn region radianceID start="\<plasdata\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  99. syn region radianceID start="\<transdata\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  100. syn region radianceID start="\<dielectric\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  101. syn region radianceID start="\<interface\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  102. syn region radianceID start="\<glass\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  103. syn region radianceID start="\<BRTDfunc\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  104. syn region radianceID start="\<antimatter\>" end="[^ \t]\($\|\s\)" contains=radianceMatType
  105.  
  106. syn region radianceID start="\<colorfunc\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  107. syn region radianceID start="\<brightfunc\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  108. syn region radianceID start="\<colordata\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  109. syn region radianceID start="\<brightdata\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  110. syn region radianceID start="\<colorpict\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  111. syn region radianceID start="\<colortext\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  112. syn region radianceID start="\<brighttext\>" end="[^ \t]\($\|\s\)" contains=radiancePatType
  113.  
  114. syn region radianceID start="\<texfunc\>" end="[^ \t]\($\|\s\)" contains=radianceTexType
  115. syn region radianceID start="\<texdata\>" end="[^ \t]\($\|\s\)" contains=radianceTexType
  116.  
  117. syn region radianceID start="\<mixfunc\>" end="[^ \t]\($\|\s\)" contains=radianceMixType
  118. syn region radianceID start="\<mixdata\>" end="[^ \t]\($\|\s\)" contains=radianceMixType
  119. syn region radianceID start="\<mixtext\>" end="[^ \t]\($\|\s\)" contains=radianceMixType
  120.  
  121. " external commands (generators, xform et al.)
  122. syn match radianceCommand "^\s*!\s*[^\s]\+\>"
  123.  
  124. " The usual suspects
  125. syn keyword radianceTodo contained    TODO XXX
  126. syn match radianceComment    "#.*$" contains=radianceTodo
  127.  
  128.  
  129. if !exists("did_radiance_syntax_inits")
  130.   let did_radiance_syntax_inits = 1
  131.   " The default methods for highlighting. Can be overridden later
  132.   hi link radianceKeyword    Keyword
  133.   hi link radianceExtraType    Type
  134.   hi link radianceSurfType    Type
  135.   hi link radianceLightType    Type
  136.   hi link radianceMatType    Type
  137.   hi link radiancePatType    Type
  138.   hi link radianceTexType    Type
  139.   hi link radianceMixType    Type
  140.   hi link radianceComment    Comment
  141.   hi link radianceCommand    Function
  142.   hi link radianceID        String
  143.   hi link radianceTodo        Todo
  144. endif
  145.  
  146. let b:current_syntax = "radiance"
  147.  
  148. " vim: ts=8
  149.