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 / runtime / dos / syntax / pov.vim < prev    next >
Encoding:
Text File  |  2011-05-27  |  9.3 KB  |  151 lines

  1. " Vim syntax file
  2. " Language: PoV-Ray(tm) 3.7 Scene Description Language
  3. " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
  4. " Last Change: 2011-04-23
  5. " Required Vim Version: 6.0
  6.  
  7. " Setup
  8. if version >= 600
  9.   " Quit when a syntax file was already loaded
  10.   if exists("b:current_syntax")
  11.     finish
  12.   endif
  13. else
  14.   " Croak when an old Vim is sourcing us.
  15.   echo "Sorry, but this syntax file relies on Vim 6 features.  Either upgrade Vim or use a version of " . expand("<sfile>:t:r") . " syntax file appropriate for Vim " . version/100 . "." . version %100 . "."
  16.   finish
  17. endif
  18.  
  19. syn case match
  20.  
  21. " Top level stuff
  22. syn keyword povCommands global_settings
  23. syn keyword povObjects array atmosphere background bicubic_patch blob box camera component cone cubic cylinder disc fog height_field isosurface julia_fractal lathe light_group light_source mesh mesh2 object ovus parametric pattern photons plane poly polygon polynomial prism quadric quartic rainbow sky_sphere smooth_triangle sor sphere sphere_sweep spline superellipsoid text torus triangle
  24. syn keyword povCSG clipped_by composite contained_by difference intersection merge union
  25. syn keyword povAppearance interior material media texture interior_texture texture_list
  26. syn keyword povGlobalSettings ambient_light assumed_gamma charset hf_gray_16 irid_wavelength max_intersections max_trace_level number_of_waves radiosity noise_generator
  27. syn keyword povTransform inverse matrix rotate scale translate transform
  28.  
  29. " Descriptors
  30. syn keyword povDescriptors finish inside_vector normal pigment uv_mapping uv_vectors vertex_vectors
  31. syn keyword povDescriptors adc_bailout always_sample brightness count error_bound distance_maximum gray_threshold load_file low_error_factor maximum_reuse max_sample media minimum_reuse mm_per_unit nearest_count normal pretrace_end pretrace_start recursion_limit save_file
  32. syn keyword povDescriptors color colour rgb rgbt rgbf rgbft srgb srgbf srgbt srgbft
  33. syn match povDescriptors "\<\(red\|green\|blue\|gray\)\>"
  34. syn keyword povDescriptors bump_map color_map colour_map image_map material_map pigment_map quick_color quick_colour normal_map texture_map image_pattern pigment_pattern
  35. syn keyword povDescriptors ambient brilliance conserve_energy crand diffuse fresnel irid metallic phong phong_size refraction reflection reflection_exponent roughness specular subsurface
  36. syn keyword povDescriptors cylinder fisheye mesh_camera omnimax orthographic panoramic perspective spherical ultra_wide_angle
  37. syn keyword povDescriptors agate aoi average brick boxed bozo bumps cells checker crackle cylindrical dents facets function gradient granite hexagon julia leopard magnet mandel marble onion pavement planar quilted radial ripples slope spherical spiral1 spiral2 spotted square tiles tile2 tiling toroidal triangular waves wood wrinkles
  38. syn keyword povDescriptors density_file
  39. syn keyword povDescriptors area_light shadowless spotlight parallel
  40. syn keyword povDescriptors absorption confidence density emission intervals ratio samples scattering variance
  41. syn keyword povDescriptors distance fog_alt fog_offset fog_type turb_depth
  42. syn keyword povDescriptors b_spline bezier_spline cubic_spline evaluate face_indices form linear_spline max_gradient natural_spline normal_indices normal_vectors quadratic_spline uv_indices
  43. syn keyword povDescriptors target
  44.  
  45. " Modifiers
  46. syn keyword povModifiers caustics dispersion dispersion_samples fade_color fade_colour fade_distance fade_power ior
  47. syn keyword povModifiers bounded_by double_illuminate hierarchy hollow no_shadow open smooth sturm threshold water_level
  48. syn keyword povModifiers importance no_radiosity
  49. syn keyword povModifiers hypercomplex max_iteration precision quaternion slice
  50. syn keyword povModifiers conic_sweep linear_sweep
  51. syn keyword povModifiers flatness type u_steps v_steps
  52. syn keyword povModifiers aa_level aa_threshold adaptive area_illumination falloff jitter looks_like media_attenuation media_interaction method point_at radius tightness
  53. syn keyword povModifiers angle aperture bokeh blur_samples confidence direction focal_point h_angle location look_at right sky up v_angle variance
  54. syn keyword povModifiers all bump_size gamma interpolate map_type once premultiplied slope_map use_alpha use_color use_colour use_index
  55. syn match povModifiers "\<\(filter\|transmit\)\>"
  56. syn keyword povModifiers black_hole agate_turb brick_size control0 control1 cubic_wave density_map flip frequency interpolate inverse lambda metric mortar octaves offset omega phase poly_wave ramp_wave repeat scallop_wave sine_wave size strength triangle_wave thickness turbulence turb_depth type warp
  57. syn keyword povModifiers eccentricity extinction
  58. syn keyword povModifiers arc_angle falloff_angle width
  59. syn keyword povModifiers accuracy all_intersections altitude autostop circular collect coords cutaway_textures dist_exp expand_thresholds exponent exterior gather global_lights major_radius max_trace no_bump_scale no_image no_reflection orient orientation pass_through precompute projected_through range_divider solid spacing split_union tolerance
  60.  
  61. " Words not marked `reserved' in documentation, but...
  62. syn keyword povBMPType alpha exr gif hdr iff jpeg pgm png pot ppm sys tga tiff
  63. syn keyword povFontType ttf contained
  64. syn keyword povDensityType df3 contained
  65. syn keyword povCharset ascii utf8 contained
  66.  
  67. " Math functions on floats, vectors and strings
  68. syn keyword povFunctions abs acos acosh asc asin asinh atan atan2 atanh bitwise_and bitwise_or bitwise_xor ceil cos cosh defined degrees dimensions dimension_size div exp file_exists floor inside int internal ln log max min mod pow prod radians rand seed select sin sinh sqrt strcmp strlen sum tan tanh val vdot vlength vstr vturbulence
  69. syn keyword povFunctions min_extent max_extent trace vcross vrotate vaxis_rotate vnormalize vturbulence
  70. syn keyword povFunctions chr concat datetime now substr str strupr strlwr
  71. syn keyword povJuliaFunctions acosh asinh atan cosh cube pwr reciprocal sinh sqr tanh
  72.  
  73. " Specialities
  74. syn keyword povConsts clock clock_delta clock_on final_clock final_frame frame_number initial_clock initial_frame input_file_name image_width image_height false no off on pi true version yes
  75. syn match povConsts "\<[tuvxyz]\>"
  76. syn match povDotItem "\.\@<=\(blue\|green\|gray\|filter\|red\|transmit\|hf\|t\|u\|v\|x\|y\|z\)\>" display
  77.  
  78. " Comments
  79. syn region povComment start="/\*" end="\*/" contains=povTodo,povComment
  80. syn match povComment "//.*" contains=povTodo
  81. syn match povCommentError "\*/"
  82. syn sync ccomment povComment
  83. syn sync minlines=50
  84. syn keyword povTodo TODO FIXME XXX NOT contained
  85. syn cluster povPRIVATE add=povTodo
  86.  
  87. " Language directives
  88. syn match povConditionalDir "#\s*\(else\|end\|for\|if\|ifdef\|ifndef\|switch\|while\)\>"
  89. syn match povLabelDir "#\s*\(break\|case\|default\|range\)\>"
  90. syn match povDeclareDir "#\s*\(declare\|default\|local\|macro\|undef\|version\)\>" nextgroup=povDeclareOption skipwhite
  91. syn keyword povDeclareOption deprecated once contained nextgroup=povDeclareOption skipwhite
  92. syn match povIncludeDir "#\s*include\>"
  93. syn match povFileDir "#\s*\(fclose\|fopen\|read\|write\)\>"
  94. syn keyword povFileDataType uint8 sint8 unit16be uint16le sint16be sint16le sint32le sint32be
  95. syn match povMessageDir "#\s*\(debug\|error\|render\|statistics\|warning\)\>"
  96. syn region povFileOpen start="#\s*fopen\>" skip=+"[^"]*"+ matchgroup=povOpenType end="\<\(read\|write\|append\)\>" contains=ALLBUT,PovParenError,PovBraceError,@PovPRIVATE transparent keepend
  97.  
  98. " Literal strings
  99. syn match povSpecialChar "\\u\x\{4}\|\\\d\d\d\|\\." contained
  100. syn region povString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=povSpecialChar oneline
  101. syn cluster povPRIVATE add=povSpecialChar
  102.  
  103. " Catch errors caused by wrong parenthesization
  104. syn region povParen start='(' end=')' contains=ALLBUT,povParenError,@povPRIVATE transparent
  105. syn match povParenError ")"
  106. syn region povBrace start='{' end='}' contains=ALLBUT,povBraceError,@povPRIVATE transparent
  107. syn match povBraceError "}"
  108.  
  109. " Numbers
  110. syn match povNumber "\(^\|\W\)\@<=[+-]\=\(\d\+\)\=\.\=\d\+\([eE][+-]\=\d\+\)\="
  111.  
  112. " Define the default highlighting
  113. hi def link povComment Comment
  114. hi def link povTodo Todo
  115. hi def link povNumber Number
  116. hi def link povString String
  117. hi def link povFileOpen Constant
  118. hi def link povConsts Constant
  119. hi def link povDotItem povSpecial
  120. hi def link povBMPType povSpecial
  121. hi def link povCharset povSpecial
  122. hi def link povDensityType povSpecial
  123. hi def link povFontType povSpecial
  124. hi def link povOpenType povSpecial
  125. hi def link povSpecialChar povSpecial
  126. hi def link povSpecial Special
  127. hi def link povConditionalDir PreProc
  128. hi def link povLabelDir PreProc
  129. hi def link povDeclareDir Define
  130. hi def link povDeclareOption Define
  131. hi def link povIncludeDir Include
  132. hi def link povFileDir PreProc
  133. hi def link povFileDataType Special
  134. hi def link povMessageDir Debug
  135. hi def link povAppearance povDescriptors
  136. hi def link povObjects povDescriptors
  137. hi def link povGlobalSettings povDescriptors
  138. hi def link povDescriptors Type
  139. hi def link povJuliaFunctions PovFunctions
  140. hi def link povModifiers povFunctions
  141. hi def link povFunctions Function
  142. hi def link povCommands Operator
  143. hi def link povTransform Operator
  144. hi def link povCSG Operator
  145. hi def link povParenError povError
  146. hi def link povBraceError povError
  147. hi def link povCommentError povError
  148. hi def link povError Error
  149.  
  150. let b:current_syntax = "pov"
  151.