{ "name": "POV-Ray SDL", "scopeName": "source.pov-ray sdl", "patterns": [ { "name": "string.quoted.double.povray", "begin": "\"", "end": "\"", "patterns": [ { "name": "constant.character.escape.povray", "match": "\\\\." } ] }, { "name": "comment.block.povray", "begin": "\\/\\*", "end": "\\*\\/" }, { "name": "comment.line.povray", "match": "\\/\\/.*" }, { "name": "constant.numeric.povray", "match": "\\b([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([eE][+-]?[0-9]+)?\\b" }, { "name": "keyword.operator.povray", "match": "[\\+\\-\\*\\/\\\u003c\\=\\\u003e\\{\\}\\(\\)\\[\\]\\.\\,\\;\\:\\?\\!]" }, { "name": "constant.language.povray", "match": "\\b(on|off|yes|no|true|false|pi)\\b" }, { "name": "keyword.shape.povray", "match": "\\b(box|cone|cylinder|difference|height_field|intersection|isosurface|julia_fractal|merge|mesh2?|object|plane|sphere|superellipsoid|text|torus|union)\\b" }, { "name": "keyword.block.povray", "match": "\\b(camera|clipped_by|colou?r_map|contained_by|default|density|face_indices|finish|fog|global_settings|interior|light_source|material|media|normal(_vectors)?|pigment(_map)?|photons|radiosity|reflection|scattering|texture|uv_vectors|vertex_vectors|warp)\\b" }, { "name": "keyword.parameter.povray", "match": "\\b(adaptive|adc_bailout|agate|ambient|angle|area_light|array|assumed_gamma|blue|bozo|brightness|bumps|checker|circular|collect|colou?r|conserve_energy|count|crackle|cylindrical|diffuse|direction|distance|dist_exp|error_bound|exponent|extinction|fade_color|fade_distance|fade_power|falloff|filter|fog_alt|fog_offset|fog_type|function|fresnel|gradient|granite|gr[ae]y_threshold|gr[ae]y|green|hollow|intervals|inverse|ior|jitter|lambda|location|look_at|low_error_factor|marble|max_gradient|max_iteration|max_trace_level|media_attenuation|media_interaction|metallic|method|minimum_reuse|nearest_count|noise_generator|no_shadow|octaves|omega|orient(ation)?|pass_through|planar|point_at|poly_wave|precision|pretrace_end|pretrace_start|quaternion|radius|ramp_wave|recursion_limit|repeat|rgbf?t?|red|refraction|right|roughness|samples|shadowless|sky|spacing|specular|spherical|spotlight|srgbf?t?|target|transmit|turbulence|uv_mapping|up|water_level|wrinkles|x|y|z)\\b" }, { "name": "keyword.function.povray", "match": "\\b(abs|concat|dimension_size|internal|max|min|mod|pow|rand|seed|sin|sqrt|vcross|vlength|vrotate|vnormalize)\\b" }, { "name": "keyword.modifier.povray", "match": "\\b(rotate|scale|translate)\\b" }, { "name": "keyword.control.povray", "match": "\\#(break|case|declare|debug|else(if)?|end|error|fopen|for|if(n?def)?|include|local|macro|range|read|switch|version|while|write)\\b" }, { "name": "invalid.deprecated.keyword.control.povray", "match": "\\#(default)\\b" }, { "name": "invalid.illegal.povray", "match": "\\#[_a-zA-Z0-9]*\\b" }, { "name": "variable.language.povray", "match": "\\b(image_height|image_width)\\b" }, { "name": "invalid.deprecated.future-keyword.povray", "match": "\\b([_a-z][_a-z0-9]*)\\b" }, { "name": "variable.parameter.povray", "match": "\\b[_a-zA-Z][_a-zA-Z0-9]*\\b" } ] }