Add support for :winpos
[MacVim.git] / runtime / syntax / pov.vim
blob700bb315d616934130ac554d707ca41e4f16778c
1 " Vim syntax file
2 " This is a GENERATED FILE. Please always refer to source file at the URI below.
3 " Language: PoV-Ray(tm) 3.5 Scene Description Language
4 " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
5 " Last Change: 2003 Apr 25
6 " URL: http://physics.muni.cz/~yeti/download/syntax/pov.vim
7 " Required Vim Version: 6.0
9 " Setup
10 if version >= 600
11   " Quit when a syntax file was already loaded
12   if exists("b:current_syntax")
13     finish
14   endif
15 else
16   " Croak when an old Vim is sourcing us.
17   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 . "."
18   finish
19 endif
21 syn case match
23 " Top level stuff
24 syn keyword povCommands global_settings
25 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 parametric pattern photons plane poly polygon prism quadric quartic rainbow sky_sphere smooth_triangle sor sphere sphere_sweep spline superellipsoid text torus triangle
26 syn keyword povCSG clipped_by composite contained_by difference intersection merge union
27 syn keyword povAppearance interior material media texture interior_texture texture_list
28 syn keyword povGlobalSettings ambient_light assumed_gamma charset hf_gray_16 irid_wavelength max_intersections max_trace_level number_of_waves radiosity noise_generator
29 syn keyword povTransform inverse matrix rotate scale translate transform
31 " Descriptors
32 syn keyword povDescriptors finish normal pigment uv_mapping uv_vectors vertex_vectors
33 syn keyword povDescriptors adc_bailout always_sample brightness count error_bound distance_maximum gray_threshold load_file low_error_factor max_sample media minimum_reuse nearest_count normal pretrace_end pretrace_start recursion_limit save_file
34 syn keyword povDescriptors color colour gray rgb rgbt rgbf rgbft red green blue
35 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
36 syn keyword povDescriptors ambient brilliance conserve_energy crand diffuse fresnel irid metallic phong phong_size refraction reflection reflection_exponent roughness specular
37 syn keyword povDescriptors cylinder fisheye omnimax orthographic panoramic perspective spherical ultra_wide_angle
38 syn keyword povDescriptors agate average brick boxed bozo bumps cells checker crackle cylindrical dents facets function gradient granite hexagon julia leopard magnet mandel marble onion planar quilted radial ripples slope spherical spiral1 spiral2 spotted tiles tiles2 toroidal waves wood wrinkles
39 syn keyword povDescriptors density_file
40 syn keyword povDescriptors area_light shadowless spotlight parallel
41 syn keyword povDescriptors absorption confidence density emission intervals ratio samples scattering variance
42 syn keyword povDescriptors distance fog_alt fog_offset fog_type turb_depth
43 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
44 syn keyword povDescriptors target
46 " Modifiers
47 syn keyword povModifiers caustics dispersion dispersion_samples fade_color fade_colour fade_distance fade_power ior
48 syn keyword povModifiers bounded_by double_illuminate hierarchy hollow no_shadow open smooth sturm threshold water_level
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 falloff jitter looks_like media_attenuation media_interaction method point_at radius tightness
53 syn keyword povModifiers angle aperture blur_samples confidence direction focal_point h_angle location look_at right sky up v_angle variance
54 syn keyword povModifiers all bump_size filter interpolate map_type once slope_map transmit use_alpha use_color use_colour use_index
55 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
56 syn keyword povModifiers eccentricity extinction
57 syn keyword povModifiers arc_angle falloff_angle width
58 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 " Words not marked `reserved' in documentation, but...
61 syn keyword povBMPType alpha gif iff jpeg pgm png pot ppm sys tga tiff contained
62 syn keyword povFontType ttf contained
63 syn keyword povDensityType df3 contained
64 syn keyword povCharset ascii utf8 contained
66 " Math functions on floats, vectors and strings
67 syn keyword povFunctions abs acos acosh asc asin asinh atan atan2 atanh ceil cos cosh defined degrees dimensions dimension_size div exp file_exists floor int internal ln log max min mod pow radians rand seed select sin sinh sqrt strcmp strlen tan tanh val vdot vlength vstr vturbulence
68 syn keyword povFunctions min_extent max_extent trace vcross vrotate vaxis_rotate vnormalize vturbulence
69 syn keyword povFunctions chr concat substr str strupr strlwr
70 syn keyword povJuliaFunctions acosh asinh atan cosh cube pwr reciprocal sinh sqr tanh
72 " Specialities
73 syn keyword povConsts clock clock_delta clock_on final_clock final_frame frame_number initial_clock initial_frame image_width image_height false no off on pi t true u v version x y yes z
74 syn match povDotItem "\.\@<=\(blue\|green\|filter\|red\|transmit\|t\|u\|v\|x\|y\|z\)\>" display
76 " Comments
77 syn region povComment start="/\*" end="\*/" contains=povTodo,povComment
78 syn match povComment "//.*" contains=povTodo
79 syn match povCommentError "\*/"
80 syn sync ccomment povComment
81 syn sync minlines=50
82 syn keyword povTodo TODO FIXME XXX NOT contained
83 syn cluster povPRIVATE add=povTodo
85 " Language directives
86 syn match povConditionalDir "#\s*\(else\|end\|if\|ifdef\|ifndef\|switch\|while\)\>"
87 syn match povLabelDir "#\s*\(break\|case\|default\|range\)\>"
88 syn match povDeclareDir "#\s*\(declare\|default\|local\|macro\|undef\|version\)\>"
89 syn match povIncludeDir "#\s*include\>"
90 syn match povFileDir "#\s*\(fclose\|fopen\|read\|write\)\>"
91 syn match povMessageDir "#\s*\(debug\|error\|render\|statistics\|warning\)\>"
92 syn region povFileOpen start="#\s*fopen\>" skip=+"[^"]*"+ matchgroup=povOpenType end="\<\(read\|write\|append\)\>" contains=ALLBUT,PovParenError,PovBraceError,@PovPRIVATE transparent keepend
94 " Literal strings
95 syn match povSpecialChar "\\\d\d\d\|\\." contained
96 syn region povString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=povSpecialChar oneline
97 syn cluster povPRIVATE add=povSpecialChar
99 " Catch errors caused by wrong parenthesization
100 syn region povParen start='(' end=')' contains=ALLBUT,povParenError,@povPRIVATE transparent
101 syn match povParenError ")"
102 syn region povBrace start='{' end='}' contains=ALLBUT,povBraceError,@povPRIVATE transparent
103 syn match povBraceError "}"
105 " Numbers
106 syn match povNumber "\(^\|\W\)\@<=[+-]\=\(\d\+\)\=\.\=\d\+\([eE][+-]\=\d\+\)\="
108 " Define the default highlighting
109 hi def link povComment Comment
110 hi def link povTodo Todo
111 hi def link povNumber Number
112 hi def link povString String
113 hi def link povFileOpen Constant
114 hi def link povConsts Constant
115 hi def link povDotItem Constant
116 hi def link povBMPType povSpecial
117 hi def link povCharset povSpecial
118 hi def link povDensityType povSpecial
119 hi def link povFontType povSpecial
120 hi def link povOpenType povSpecial
121 hi def link povSpecialChar povSpecial
122 hi def link povSpecial Special
123 hi def link povConditionalDir PreProc
124 hi def link povLabelDir PreProc
125 hi def link povDeclareDir Define
126 hi def link povIncludeDir Include
127 hi def link povFileDir PreProc
128 hi def link povMessageDir Debug
129 hi def link povAppearance povDescriptors
130 hi def link povObjects povDescriptors
131 hi def link povGlobalSettings povDescriptors
132 hi def link povDescriptors Type
133 hi def link povJuliaFunctions PovFunctions
134 hi def link povModifiers povFunctions
135 hi def link povFunctions Function
136 hi def link povCommands Operator
137 hi def link povTransform Operator
138 hi def link povCSG Operator
139 hi def link povParenError povError
140 hi def link povBraceError povError
141 hi def link povCommentError povError
142 hi def link povError Error
144 let b:current_syntax = "pov"