neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

vrml.vim (12788B)


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