codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: VRML973" Modified from: VRML 1.0C by David Brown <dbrown@cgs.c4.gmeds.com>4" Maintainer: vacancy!5" Former Maintainer: Gregory Seidman <gsslist+vim@anthropohedron.net>6" Last change: 2006 May 037 8" quit when a syntax file was already loaded9if exists("b:current_syntax")10 finish11endif12 13" keyword definitions14 15syn keyword VRMLFields ambientIntensity appearance attenuation16syn keyword VRMLFields autoOffset avatarSize axisOfRotation backUrl17syn keyword VRMLFields bboxCenter bboxSize beamWidth beginCap18syn keyword VRMLFields bottom bottomRadius bottomUrl ccw center19syn keyword VRMLFields children choice collide color colorIndex20syn keyword VRMLFields colorPerVertex convex coord coordIndex21syn keyword VRMLFields creaseAngle crossSection cutOffAngle22syn keyword VRMLFields cycleInterval description diffuseColor23syn keyword VRMLFields directOutput direction diskAngle24syn keyword VRMLFields emissiveColor enabled endCap family25syn keyword VRMLFields fieldOfView fogType fontStyle frontUrl26syn keyword VRMLFields geometry groundAngle groundColor headlight27syn keyword VRMLFields height horizontal info intensity jump28syn keyword VRMLFields justify key keyValue language leftToRight29syn keyword VRMLFields leftUrl length level location loop material30syn keyword VRMLFields maxAngle maxBack maxExtent maxFront31syn keyword VRMLFields maxPosition minAngle minBack minFront32syn keyword VRMLFields minPosition mustEvaluate normal normalIndex33syn keyword VRMLFields normalPerVertex offset on orientation34syn keyword VRMLFields parameter pitch point position priority35syn keyword VRMLFields proxy radius range repeatS repeatT rightUrl36syn keyword VRMLFields rotation scale scaleOrientation shininess37syn keyword VRMLFields side size skyAngle skyColor solid source38syn keyword VRMLFields spacing spatialize specularColor speed spine39syn keyword VRMLFields startTime stopTime string style texCoord40syn keyword VRMLFields texCoordIndex texture textureTransform title41syn keyword VRMLFields top topToBottom topUrl translation42syn keyword VRMLFields transparency type url vector visibilityLimit43syn keyword VRMLFields visibilityRange whichChoice xDimension44syn keyword VRMLFields xSpacing zDimension zSpacing45syn match VRMLFields "\<[A-Za-z_][A-Za-z0-9_]*\>" contains=VRMLComment,VRMLProtos,VRMLfTypes46" syn match VRMLFields "\<[A-Za-z_][A-Za-z0-9_]*\>\(,\|\s\)*\(#.*$\)*\<IS\>\(#.*$\)*\(,\|\s\)*\<[A-Za-z_][A-Za-z0-9_]*\>\(,\|\s\)*\(#.*$\)*" contains=VRMLComment,VRMLProtos47" syn region VRMLFields start="\<[A-Za-z_][A-Za-z0-9_]*\>" end=+\(,\|#\|\s\)+me=e-1 contains=VRMLComment,VRMLProtos48 49syn keyword VRMLEvents addChildren ambientIntensity_changed50syn keyword VRMLEvents appearance_changed attenuation_changed51syn keyword VRMLEvents autoOffset_changed avatarSize_changed52syn keyword VRMLEvents axisOfRotation_changed backUrl_changed53syn keyword VRMLEvents beamWidth_changed bindTime bottomUrl_changed54syn keyword VRMLEvents center_changed children_changed55syn keyword VRMLEvents choice_changed collideTime collide_changed56syn keyword VRMLEvents color_changed coord_changed57syn keyword VRMLEvents cutOffAngle_changed cycleInterval_changed58syn keyword VRMLEvents cycleTime description_changed59syn keyword VRMLEvents diffuseColor_changed direction_changed60syn keyword VRMLEvents diskAngle_changed duration_changed61syn keyword VRMLEvents emissiveColor_changed enabled_changed62syn keyword VRMLEvents enterTime exitTime fogType_changed63syn keyword VRMLEvents fontStyle_changed fraction_changed64syn keyword VRMLEvents frontUrl_changed geometry_changed65syn keyword VRMLEvents groundAngle_changed headlight_changed66syn keyword VRMLEvents hitNormal_changed hitPoint_changed67syn keyword VRMLEvents hitTexCoord_changed intensity_changed68syn keyword VRMLEvents isActive isBound isOver jump_changed69syn keyword VRMLEvents keyValue_changed key_changed leftUrl_changed70syn keyword VRMLEvents length_changed level_changed71syn keyword VRMLEvents location_changed loop_changed72syn keyword VRMLEvents material_changed maxAngle_changed73syn keyword VRMLEvents maxBack_changed maxExtent_changed74syn keyword VRMLEvents maxFront_changed maxPosition_changed75syn keyword VRMLEvents minAngle_changed minBack_changed76syn keyword VRMLEvents minFront_changed minPosition_changed77syn keyword VRMLEvents normal_changed offset_changed on_changed78syn keyword VRMLEvents orientation_changed parameter_changed79syn keyword VRMLEvents pitch_changed point_changed position_changed80syn keyword VRMLEvents priority_changed radius_changed81syn keyword VRMLEvents removeChildren rightUrl_changed82syn keyword VRMLEvents rotation_changed scaleOrientation_changed83syn keyword VRMLEvents scale_changed set_ambientIntensity84syn keyword VRMLEvents set_appearance set_attenuation85syn keyword VRMLEvents set_autoOffset set_avatarSize86syn keyword VRMLEvents set_axisOfRotation set_backUrl set_beamWidth87syn keyword VRMLEvents set_bind set_bottomUrl set_center88syn keyword VRMLEvents set_children set_choice set_collide89syn keyword VRMLEvents set_color set_colorIndex set_coord90syn keyword VRMLEvents set_coordIndex set_crossSection91syn keyword VRMLEvents set_cutOffAngle set_cycleInterval92syn keyword VRMLEvents set_description set_diffuseColor93syn keyword VRMLEvents set_direction set_diskAngle94syn keyword VRMLEvents set_emissiveColor set_enabled set_fogType95syn keyword VRMLEvents set_fontStyle set_fraction set_frontUrl96syn keyword VRMLEvents set_geometry set_groundAngle set_headlight97syn keyword VRMLEvents set_height set_intensity set_jump set_key98syn keyword VRMLEvents set_keyValue set_leftUrl set_length99syn keyword VRMLEvents set_level set_location set_loop set_material100syn keyword VRMLEvents set_maxAngle set_maxBack set_maxExtent101syn keyword VRMLEvents set_maxFront set_maxPosition set_minAngle102syn keyword VRMLEvents set_minBack set_minFront set_minPosition103syn keyword VRMLEvents set_normal set_normalIndex set_offset set_on104syn keyword VRMLEvents set_orientation set_parameter set_pitch105syn keyword VRMLEvents set_point set_position set_priority106syn keyword VRMLEvents set_radius set_rightUrl set_rotation107syn keyword VRMLEvents set_scale set_scaleOrientation set_shininess108syn keyword VRMLEvents set_size set_skyAngle set_skyColor109syn keyword VRMLEvents set_source set_specularColor set_speed110syn keyword VRMLEvents set_spine set_startTime set_stopTime111syn keyword VRMLEvents set_string set_texCoord set_texCoordIndex112syn keyword VRMLEvents set_texture set_textureTransform set_topUrl113syn keyword VRMLEvents set_translation set_transparency set_type114syn keyword VRMLEvents set_url set_vector set_visibilityLimit115syn keyword VRMLEvents set_visibilityRange set_whichChoice116syn keyword VRMLEvents shininess_changed size_changed117syn keyword VRMLEvents skyAngle_changed skyColor_changed118syn keyword VRMLEvents source_changed specularColor_changed119syn keyword VRMLEvents speed_changed startTime_changed120syn keyword VRMLEvents stopTime_changed string_changed121syn keyword VRMLEvents texCoord_changed textureTransform_changed122syn keyword VRMLEvents texture_changed time topUrl_changed123syn keyword VRMLEvents touchTime trackPoint_changed124syn keyword VRMLEvents translation_changed transparency_changed125syn keyword VRMLEvents type_changed url_changed value_changed126syn keyword VRMLEvents vector_changed visibilityLimit_changed127syn keyword VRMLEvents visibilityRange_changed whichChoice_changed128syn region VRMLEvents start="\S+[^0-9]+\.[A-Za-z_]+"ms=s+1 end="\(,\|$\|\s\)"me=e-1129 130syn keyword VRMLNodes Anchor Appearance AudioClip Background131syn keyword VRMLNodes Billboard Box Collision Color132syn keyword VRMLNodes ColorInterpolator Cone Coordinate133syn keyword VRMLNodes CoordinateInterpolator Cylinder134syn keyword VRMLNodes CylinderSensor DirectionalLight135syn keyword VRMLNodes ElevationGrid Extrusion Fog FontStyle136syn keyword VRMLNodes Group ImageTexture IndexedFaceSet137syn keyword VRMLNodes IndexedLineSet Inline LOD Material138syn keyword VRMLNodes MovieTexture NavigationInfo Normal139syn keyword VRMLNodes NormalInterpolator OrientationInterpolator140syn keyword VRMLNodes PixelTexture PlaneSensor PointLight141syn keyword VRMLNodes PointSet PositionInterpolator142syn keyword VRMLNodes ProximitySensor ScalarInterpolator143syn keyword VRMLNodes Script Shape Sound Sphere SphereSensor144syn keyword VRMLNodes SpotLight Switch Text TextureCoordinate145syn keyword VRMLNodes TextureTransform TimeSensor TouchSensor146syn keyword VRMLNodes Transform Viewpoint VisibilitySensor147syn keyword VRMLNodes WorldInfo148 149" the following line doesn't catch <node><newline><openbrace> since \n150" doesn't match as an atom yet :-(151syn match VRMLNodes "[A-Za-z_][A-Za-z0-9_]*\(,\|\s\)*{"me=e-1152syn region VRMLNodes start="\<EXTERNPROTO\>\(,\|\s\)*[A-Za-z_]"ms=e start="\<EXTERNPROTO\>\(,\|\s\)*" end="[\s]*\["me=e-1 contains=VRMLProtos,VRMLComment153syn region VRMLNodes start="PROTO\>\(,\|\s\)*[A-Za-z_]"ms=e start="PROTO\>\(,\|\s\)*" end="[\s]*\["me=e-1 contains=VRMLProtos,VRMLComment154 155syn keyword VRMLTypes SFBool SFColor MFColor SFFloat MFFloat156syn keyword VRMLTypes SFImage SFInt32 MFInt32 SFNode MFNode157syn keyword VRMLTypes SFRotation MFRotation SFString MFString158syn keyword VRMLTypes SFTime MFTime SFVec2f MFVec2f SFVec3f MFVec3f159 160syn keyword VRMLfTypes field exposedField eventIn eventOut161 162syn keyword VRMLValues TRUE FALSE NULL163 164syn keyword VRMLProtos contained EXTERNPROTO PROTO IS165 166syn keyword VRMLRoutes contained ROUTE TO167 168"containment!169syn include @jscript $VIMRUNTIME/syntax/javascript.vim170syn region VRMLjScriptString contained start=+"\(\(javascript\)\|\(vrmlscript\)\|\(ecmascript\)\):+ms=e+1 skip=+\\\\\|\\"+ end=+"+me=e-1 contains=@jscript171 172" match definitions.173syn match VRMLSpecial contained "\\[0-9][0-9][0-9]\|\\."174syn region VRMLString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=VRMLSpecial,VRMLjScriptString175syn match VRMLCharacter "'[^\\]'"176syn match VRMLSpecialCharacter "'\\.'"177syn match VRMLNumber "[-+]\=\<[0-9]\+\(\.[0-9]\+\)\=\([eE]\{1}[-+]\=[0-9]\+\)\=\>\|0[xX][0-9a-fA-F]\+\>"178syn match VRMLNumber "0[xX][0-9a-fA-F]\+\>"179syn match VRMLComment "#.*$"180 181" newlines should count as whitespace, but they can't be matched yet :-(182syn region VRMLRouteNode start="[^O]TO\(,\|\s\)*" end="\."me=e-1 contains=VRMLRoutes,VRMLComment183syn region VRMLRouteNode start="ROUTE\(,\|\s\)*" end="\."me=e-1 contains=VRMLRoutes,VRMLComment184syn region VRMLInstName start="DEF\>"hs=e+1 skip="DEF\(,\|\s\)*" end="[A-Za-z0-9_]\(\s\|$\|,\)"me=e contains=VRMLInstances,VRMLComment185syn region VRMLInstName start="USE\>"hs=e+1 skip="USE\(,\|\s\)*" end="[A-Za-z0-9_]\(\s\|$\|,\)"me=e contains=VRMLInstances,VRMLComment186 187syn keyword VRMLInstances contained DEF USE188syn sync minlines=1189 190"FOLDS!191syn sync fromstart192"setlocal foldmethod=syntax193syn region braceFold start="{" end="}" transparent fold contains=TOP194syn region bracketFold start="\[" end="]" transparent fold contains=TOP195syn region VRMLString start=+"+ skip=+\\\\\|\\"+ end=+"+ fold contains=VRMLSpecial,VRMLjScriptString196 197" Define the default highlighting.198" Only when an item doesn't have highlighting yet199 200hi def link VRMLCharacter VRMLString201hi def link VRMLSpecialCharacter VRMLSpecial202hi def link VRMLNumber VRMLString203hi def link VRMLValues VRMLString204hi def link VRMLString String205hi def link VRMLSpecial Special206hi def link VRMLComment Comment207hi def link VRMLNodes Statement208hi def link VRMLFields Type209hi def link VRMLEvents Type210hi def link VRMLfTypes LineNr211" hi VRMLfTypes ctermfg=6 guifg=Brown212hi def link VRMLInstances PreCondit213hi def link VRMLRoutes PreCondit214hi def link VRMLProtos PreProc215hi def link VRMLRouteNode Identifier216hi def link VRMLInstName Identifier217hi def link VRMLTypes Identifier218 219 220let b:current_syntax = "vrml"221 222" vim: ts=8223 