Merge branch 'master' of http://repo.or.cz/r/msysgit into devel
[msysgit/historical-msysgit.git] / share / vim / vim58 / syntax / vrml.vim
blobd5f195e59f7fa879afb6bd4855ae8c25f1714d06
1 " Vim syntax file
2 " Language:      VRML97
3 " Modified from: VRML 1.0C by David Brown <dbrown@cgs.c4.gmeds.com>
4 " Maintainer:    Gregory Seidman <gseidman@acm.org>
5 " URL:           http://zing.ncsl.nist.gov/~gseidman/vim/syntax/vrml.vim
6 " Last Change:   2001 May 10
8 " For version 5.x: Clear all syntax items
9 " For version 6.x: Quit when a syntax file was already loaded
10 if version < 600
11   syntax clear
12 elseif exists("b:current_syntax")
13   finish
14 endif
16 " keyword definitions
18 syn keyword VRMLFields         ambientIntensity appearance attenuation
19 syn keyword VRMLFields         autoOffset avatarSize axisOfRotation backUrl
20 syn keyword VRMLFields         bboxCenter bboxSize beamWidth beginCap
21 syn keyword VRMLFields         bottom bottomRadius bottomUrl ccw center
22 syn keyword VRMLFields         children choice collide color colorIndex
23 syn keyword VRMLFields         colorPerVertex convex coord coordIndex
24 syn keyword VRMLFields         creaseAngle crossSection cutOffAngle
25 syn keyword VRMLFields         cycleInterval description diffuseColor
26 syn keyword VRMLFields         directOutput direction diskAngle
27 syn keyword VRMLFields         emissiveColor enabled endCap family
28 syn keyword VRMLFields         fieldOfView fogType fontStyle frontUrl
29 syn keyword VRMLFields         geometry groundAngle groundColor headlight
30 syn keyword VRMLFields         height horizontal info intensity jump
31 syn keyword VRMLFields         justify key keyValue language leftToRight
32 syn keyword VRMLFields         leftUrl length level location loop material
33 syn keyword VRMLFields         maxAngle maxBack maxExtent maxFront
34 syn keyword VRMLFields         maxPosition minAngle minBack minFront
35 syn keyword VRMLFields         minPosition mustEvaluate normal normalIndex
36 syn keyword VRMLFields         normalPerVertex offset on orientation
37 syn keyword VRMLFields         parameter pitch point position priority
38 syn keyword VRMLFields         proxy radius range repeatS repeatT rightUrl
39 syn keyword VRMLFields         rotation scale scaleOrientation shininess
40 syn keyword VRMLFields         side size skyAngle skyColor solid source
41 syn keyword VRMLFields         spacing spatialize specularColor speed spine
42 syn keyword VRMLFields         startTime stopTime string style texCoord
43 syn keyword VRMLFields         texCoordIndex texture textureTransform title
44 syn keyword VRMLFields         top topToBottom topUrl translation
45 syn keyword VRMLFields         transparency type url vector visibilityLimit
46 syn keyword VRMLFields         visibilityRange whichChoice xDimension
47 syn keyword VRMLFields         xSpacing zDimension zSpacing
48 syn match   VRMLFields         "\<[A-Za-z_][A-Za-z0-9_]*\>" contains=VRMLComment,VRMLProtos
49 " syn match   VRMLFields         "\<[A-Za-z_][A-Za-z0-9_]*\>\(,\|\s\)*\(#.*$\)*\<IS\>\(#.*$\)*\(,\|\s\)*\<[A-Za-z_][A-Za-z0-9_]*\>\(,\|\s\)*\(#.*$\)*" contains=VRMLComment,VRMLProtos
50 " syn region  VRMLFields         start="\<[A-Za-z_][A-Za-z0-9_]*\>" end=+\(,\|#\|\s\)+me=e-1 contains=VRMLComment,VRMLProtos
52 syn keyword VRMLEvents         addChildren ambientIntensity_changed
53 syn keyword VRMLEvents         appearance_changed attenuation_changed
54 syn keyword VRMLEvents         autoOffset_changed avatarSize_changed
55 syn keyword VRMLEvents         axisOfRotation_changed backUrl_changed
56 syn keyword VRMLEvents         beamWidth_changed bindTime bottomUrl_changed
57 syn keyword VRMLEvents         center_changed children_changed
58 syn keyword VRMLEvents         choice_changed collideTime collide_changed
59 syn keyword VRMLEvents         color_changed coord_changed
60 syn keyword VRMLEvents         cutOffAngle_changed cycleInterval_changed
61 syn keyword VRMLEvents         cycleTime description_changed
62 syn keyword VRMLEvents         diffuseColor_changed direction_changed
63 syn keyword VRMLEvents         diskAngle_changed duration_changed
64 syn keyword VRMLEvents         emissiveColor_changed enabled_changed
65 syn keyword VRMLEvents         enterTime exitTime fogType_changed
66 syn keyword VRMLEvents         fontStyle_changed fraction_changed
67 syn keyword VRMLEvents         frontUrl_changed geometry_changed
68 syn keyword VRMLEvents         groundAngle_changed headlight_changed
69 syn keyword VRMLEvents         hitNormal_changed hitPoint_changed
70 syn keyword VRMLEvents         hitTexCoord_changed intensity_changed
71 syn keyword VRMLEvents         isActive isBound isOver jump_changed
72 syn keyword VRMLEvents         keyValue_changed key_changed leftUrl_changed
73 syn keyword VRMLEvents         length_changed level_changed
74 syn keyword VRMLEvents         location_changed loop_changed
75 syn keyword VRMLEvents         material_changed maxAngle_changed
76 syn keyword VRMLEvents         maxBack_changed maxExtent_changed
77 syn keyword VRMLEvents         maxFront_changed maxPosition_changed
78 syn keyword VRMLEvents         minAngle_changed minBack_changed
79 syn keyword VRMLEvents         minFront_changed minPosition_changed
80 syn keyword VRMLEvents         normal_changed offset_changed on_changed
81 syn keyword VRMLEvents         orientation_changed parameter_changed
82 syn keyword VRMLEvents         pitch_changed point_changed position_changed
83 syn keyword VRMLEvents         priority_changed radius_changed
84 syn keyword VRMLEvents         removeChildren rightUrl_changed
85 syn keyword VRMLEvents         rotation_changed scaleOrientation_changed
86 syn keyword VRMLEvents         scale_changed set_ambientIntensity
87 syn keyword VRMLEvents         set_appearance set_attenuation
88 syn keyword VRMLEvents         set_autoOffset set_avatarSize
89 syn keyword VRMLEvents         set_axisOfRotation set_backUrl set_beamWidth
90 syn keyword VRMLEvents         set_bind set_bottomUrl set_center
91 syn keyword VRMLEvents         set_children set_choice set_collide
92 syn keyword VRMLEvents         set_color set_colorIndex set_coord
93 syn keyword VRMLEvents         set_coordIndex set_crossSection
94 syn keyword VRMLEvents         set_cutOffAngle set_cycleInterval
95 syn keyword VRMLEvents         set_description set_diffuseColor
96 syn keyword VRMLEvents         set_direction set_diskAngle
97 syn keyword VRMLEvents         set_emissiveColor set_enabled set_fogType
98 syn keyword VRMLEvents         set_fontStyle set_fraction set_frontUrl
99 syn keyword VRMLEvents         set_geometry set_groundAngle set_headlight
100 syn keyword VRMLEvents         set_height set_intensity set_jump set_key
101 syn keyword VRMLEvents         set_keyValue set_leftUrl set_length
102 syn keyword VRMLEvents         set_level set_location set_loop set_material
103 syn keyword VRMLEvents         set_maxAngle set_maxBack set_maxExtent
104 syn keyword VRMLEvents         set_maxFront set_maxPosition set_minAngle
105 syn keyword VRMLEvents         set_minBack set_minFront set_minPosition
106 syn keyword VRMLEvents         set_normal set_normalIndex set_offset set_on
107 syn keyword VRMLEvents         set_orientation set_parameter set_pitch
108 syn keyword VRMLEvents         set_point set_position set_priority
109 syn keyword VRMLEvents         set_radius set_rightUrl set_rotation
110 syn keyword VRMLEvents         set_scale set_scaleOrientation set_shininess
111 syn keyword VRMLEvents         set_size set_skyAngle set_skyColor
112 syn keyword VRMLEvents         set_source set_specularColor set_speed
113 syn keyword VRMLEvents         set_spine set_startTime set_stopTime
114 syn keyword VRMLEvents         set_string set_texCoord set_texCoordIndex
115 syn keyword VRMLEvents         set_texture set_textureTransform set_topUrl
116 syn keyword VRMLEvents         set_translation set_transparency set_type
117 syn keyword VRMLEvents         set_url set_vector set_visibilityLimit
118 syn keyword VRMLEvents         set_visibilityRange set_whichChoice
119 syn keyword VRMLEvents         shininess_changed size_changed
120 syn keyword VRMLEvents         skyAngle_changed skyColor_changed
121 syn keyword VRMLEvents         source_changed specularColor_changed
122 syn keyword VRMLEvents         speed_changed startTime_changed
123 syn keyword VRMLEvents         stopTime_changed string_changed
124 syn keyword VRMLEvents         texCoord_changed textureTransform_changed
125 syn keyword VRMLEvents         texture_changed time topUrl_changed
126 syn keyword VRMLEvents         touchTime trackPoint_changed
127 syn keyword VRMLEvents         translation_changed transparency_changed
128 syn keyword VRMLEvents         type_changed url_changed value_changed
129 syn keyword VRMLEvents         vector_changed visibilityLimit_changed
130 syn keyword VRMLEvents         visibilityRange_changed whichChoice_changed
131 syn region  VRMLEvents         start="\S+[^0-9]+\.[A-Za-z_]+"ms=s+1 end="\(,\|$\|\s\)"me=e-1
133 syn keyword VRMLNodes          Anchor Appearance AudioClip Background
134 syn keyword VRMLNodes          Billboard Box Collision Color
135 syn keyword VRMLNodes          ColorInterpolator Cone Coordinate
136 syn keyword VRMLNodes          CoordinateInterpolator Cylinder
137 syn keyword VRMLNodes          CylinderSensor DirectionalLight
138 syn keyword VRMLNodes          ElevationGrid Extrusion Fog FontStyle
139 syn keyword VRMLNodes          Group ImageTexture IndexedFaceSet
140 syn keyword VRMLNodes          IndexedLineSet Inline LOD Material
141 syn keyword VRMLNodes          MovieTexture NavigationInfo Normal
142 syn keyword VRMLNodes          NormalInterpolator OrientationInterpolator
143 syn keyword VRMLNodes          PixelTexture PlaneSensor PointLight
144 syn keyword VRMLNodes          PointSet PositionInterpolator
145 syn keyword VRMLNodes          ProximitySensor ScalarInterpolator
146 syn keyword VRMLNodes          Script Shape Sound Sphere SphereSensor
147 syn keyword VRMLNodes          SpotLight Switch Text TextureCoordinate
148 syn keyword VRMLNodes          TextureTransform TimeSensor TouchSensor
149 syn keyword VRMLNodes          Transform Viewpoint VisibilitySensor
150 syn keyword VRMLNodes          WorldInfo
152 " the following line doesn't catch <node><newline><openbrace> since \n
153 " doesn't match as an atom yet :-(
154 syn match   VRMLNodes          "[A-Za-z_][A-Za-z0-9_]*\(,\|\s\)*{"me=e-1
155 syn region  VRMLNodes          start="\<EXTERNPROTO\>\(,\|\s\)*[A-Za-z_]"ms=e start="\<EXTERNPROTO\>\(,\|\s\)*" end="[\s]*\["me=e-1 contains=VRMLProtos,VRMLComment
156 syn region  VRMLNodes          start="PROTO\>\(,\|\s\)*[A-Za-z_]"ms=e start="PROTO\>\(,\|\s\)*" end="[\s]*\["me=e-1 contains=VRMLProtos,VRMLComment
158 syn keyword VRMLTypes          SFBool SFColor MFColor SFFloat MFFloat
159 syn keyword VRMLTypes          SFImage SFInt32 MFInt32 SFNode MFNode
160 syn keyword VRMLTypes          SFRotation MFRotation SFString MFString
161 syn keyword VRMLTypes          SFTime SFVec2f MFVec2f SFVec3f MFVec3f
163 syn keyword VRMLfTypes         field exposedField eventIn eventOut
165 syn keyword VRMLValues         TRUE FALSE NULL
167 syn keyword VRMLProtos         contained EXTERNPROTO PROTO IS
169 syn keyword VRMLRoutes         contained ROUTE TO
171 " match definitions.
172 syn match   VRMLSpecial           contained "\\[0-9][0-9][0-9]\|\\."
173 syn region  VRMLString            start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=VRMLSpecial
174 syn match   VRMLCharacter         "'[^\\]'"
175 "syn match   VRMLSpecialCharacter  "'\\.'"
176 syn match   VRMLNumber            "[-+]\=\<[0-9]\+\(\.[0-9]\+\)\=\([eE]\{1}[-+]\=[0-9]\+\)\=\>\|0[xX][0-9a-fA-F]\+\>"
177 syn match   VRMLNumber            "0[xX][0-9a-fA-F]\+\>"
178 syn match   VRMLComment           "#.*$"
180 " newlines should count as whitespace, but they can't be matched yet :-(
181 syn region  VRMLRouteNode         start="[^O]TO\(,\|\s\)*" end="\."me=e-1 contains=VRMLRoutes,VRMLComment
182 syn region  VRMLRouteNode         start="ROUTE\(,\|\s\)*" end="\."me=e-1 contains=VRMLRoutes,VRMLComment
183 syn region  VRMLInstName          start="DEF\>"hs=e+1 skip="DEF\(,\|\s\)*" end="[A-Za-z0-9_]\(\s\|$\|,\)"me=e contains=VRMLInstances,VRMLComment
184 syn region  VRMLInstName          start="USE\>"hs=e+1 skip="USE\(,\|\s\)*" end="[A-Za-z0-9_]\(\s\|$\|,\)"me=e contains=VRMLInstances,VRMLComment
186 syn keyword VRMLInstances      contained DEF USE
187 syn sync minlines=1
188 syn match   VRMLBraces         "[{}]"
189 syn match   VRMLBrackets       "[\[\]]"
191 " Define the default highlighting.
192 " For version 5.7 and earlier: only when not done already
193 " For version 5.8 and later: only when an item doesn't have highlighting yet
194 if version >= 508 || !exists("did_VRML_syntax_inits")
195   if version < 508
196     let did_VRML_syntax_inits = 1
197     command -nargs=+ HiLink hi link <args>
198   else
199     command -nargs=+ HiLink hi def link <args>
200   endif
202   HiLink VRMLCharacter  VRMLString
203   HiLink VRMLSpecialCharacter VRMLSpecial
204   HiLink VRMLNumber     VRMLString
205   HiLink VRMLValues     VRMLString
206   HiLink VRMLString     String
207   HiLink VRMLSpecial    Special
208   HiLink VRMLComment    Comment
209   HiLink VRMLNodes      Statement
210   HiLink VRMLFields     Type
211   HiLink VRMLEvents     Type
212   hi def VRMLfTypes     ctermfg=6 guifg=Brown
213   HiLink VRMLInstances  PreCondit
214   HiLink VRMLRoutes     PreCondit
215   HiLink VRMLProtos     PreProc
216   HiLink VRMLRouteNode  Identifier
217   HiLink VRMLInstName   Identifier
218   HiLink VRMLTypes      Identifier
220   delcommand HiLink
221 endif
223 let b:current_syntax = "vrml"
225 " vim: ts=8