[POV-Ray SDL]
lexer=pov

commentblock=//
commentstreamstart=/*
commentstreamend=*/
commentboxstart=/*
commentboxmiddle= *
commentboxend= */

# Language directives (#xxx)
keywords.0=name:Keywords::declare local include undef fopen fclose read write default version \
case range break debug error warning if ifdef ifndef switch while macro else end

# Objects & CSG & Appearance (xxx {})
keywords.1=name:Objects & CSG & Appearance::camera light_source light_group object blob sphere cylinder box cone height_field julia_fractal \
lathe prism sphere_sweep superellipsoid sor text torus bicubic_patch disc mesh mesh2 polygon triangle smooth_triangle \
plane poly cubic quartic quadric isosurface parametric union intersection difference merge function array spline \
vertex_vectors normal_vectors uv_vectors face_indices normal_indices uv_indices texture texture_list interior_texture \
texture_map material_map image_map color_map colour_map pigment_map normal_map slope_map bump_map density_map \
pigment normal material interior finish reflection irid slope pigment_pattern image_pattern \
warp media scattering density background fog sky_sphere rainbow global_settings radiosity photons pattern \
transform looks_like projected_through contained_by clipped_by bounded_by

# Types & Modifiers & Items
keywords.2=name:Types & Modifiers & Items::linear_spline quadratic_spline cubic_spline natural_spline bezier_spline b_spline \
read write append inverse open perspective orthographic fisheye ultra_wide_angle omnimax panoramic \
spherical spotlight jitter circular orient media_attenuation media_interaction shadowless parallel \
refraction collect pass_through global_lights hierarchy sturm smooth gif tga iff pot png pgm ppm jpeg tiff sys ttf \
quaternion hypercomplex linear_sweep conic_sweep type all_intersections split_union cutaway_textures \
no_shadow no_image no_reflection double_illuminate hollow uv_mapping all use_index use_color use_colour no_bump_scale \
conserve_energy fresnel average agate boxed bozo bumps cells crackle cylindrical density_file dents \
facets granite leopard marble onion planar quilted radial ripples spotted waves wood wrinkles \
solid use_alpha interpolate magnet noise_generator toroidal ramp_wave triangle_wave sine_wave scallop_wave cubic_wave poly_wave \
once map_type method fog_type hf_gray_16 charset ascii utf8 rotate scale translate matrix location right up direction sky \
angle look_at aperture blur_samples focal_point confidence variance radius falloff tightness point_at area_light adaptive fade_distance fade_power \
threshold strength water_level tolerance max_iteration precision slice u_steps v_steps flatness inside_vector \
accuracy max_gradient evaluate max_trace precompute target ior dispersion dispersion_samples caustics \
color colour rgb rgbf rgbt rgbft red green blue filter transmit gray hf fade_color fade_colour quick_color quick_colour \
brick checker hexagon brick_size mortar bump_size ambient diffuse brilliance crand phong phong_size metallic specular \
roughness reflection_exponent exponent thickness gradient spiral1 spiral2 agate_turb form metric \
offset df3 coords size mandel exterior julia control0 control1 altitude turbulence octaves omega lambda \
repeat flip black-hole orientation dist_exp major_radius frequency phase intervals samples ratio absorption emission aa_threshold aa_level \
eccentricity extinction distance turb_depth fog_offset fog_alt width arc_angle falloff_angle \
adc_bailout ambient_light assumed_gamma irid_wavelength number_of_waves always_sample brigthness count error_bound gray_threshold load_file \
low_error_factor max_sample minimum_reuse nearest_count pretrace_end pretrace_start recursion_limit save_file \
spacing gather max_trace_level autostop expand_thresholds

# Predefined Identifiers
keywords.3=name:Predefined Identifiers::x y z t u v yes no true false on off clock clock_delta clock_on final_clock final_frame frame_number \
image_height image_width initial_clock initial_frame pi version

# Predefined Functions
keywords.4=name:Predefined Functions::abs acos acosh asc asin asinh atan atanh atan2 \
ceil cos cosh defined degrees dimensions dimension_size div exp file_exists floor inside int ln log max min mod pow prod radians rand seed select sin sinh sqrt strcmp \
strlen sum tan tanh val vdot vlength min_extent max_extent trace vaxis_rotate vcross vrotate vnormalize vturbulence chr concat str strlwr strupr substr vstr \
sqr cube reciprocal pwr

# User defined keywords 1
keywords.5=name:User defined keywords 1::

# User defined keywords 2
keywords.6=name:User defined keywords 2::

# User defined keywords 3
keywords.7=name:User defined keywords 3::

style.32=name:Default
style.0=name:White space,fore:#FF0080
style.1=name:Comment /* */,fore:clGreen
style.2=name:Line Comment,fore:clGreen,$(font.code.comment.line)
style.3=name:Number,fore:clTeal
style.4=name:Operators
style.5=name:Identifiers
style.6=name:Double quoted string,fore:clPurple
style.7=name:End of line where string is not closed,back:#E0C0E0,eolfilled,bold
style.8=name:Directive #keyword,fore:#7F7F00
style.9=name:Directive keyword error,fore:#804020,italics
style.10=name:Objects & CSG & Appearance,fore:clBlue,back:#FFD0D0
style.11=name:Types & Modifiers & Items,fore:clBlue,back:#FFFFD0
style.12=name:Predefined Identifiers,fore:clBlue,bold
style.13=name:Predefined Functions,fore:clBlue,back:#D0D0FF
style.14=name:Keyword User defined 6,fore:clNavy,back:#D0FFD0
style.15=name:Keyword User defined 7,fore:clNavy,back:#D0D0D0
style.17=name:Keyword User defined 8,fore:clNavy,back:#E0E0E0