Ogre particle
" {{{ File header " vim:ff=unix ts=4 ss=4 " vim60:fdm=marker " " \file ogreparticle.vim " \date Tue Aug 11 16:39:49 BST 2009 " " \brief "Language: Ogre(3d)'s .particle " \note Based on TextPad syntax definitions for Ogre3D .particle files Copyright (C) 2004, Harrison Ulrich " " \author "Maintainer: <robin@red-redemption.com> (lokidokicoki) " \note Also based on Feral's .material and .overlay highlight scripts " }}} " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif "syn case match ";code blocks syntax keyword ogreparticle_code_blocks particle_system emitter affector ";variables syntax keyword ogreparticle_variables quota material particle_width particle_height cull_each billboard_type billboard_origin billboard_rotation_type common_direction common_up_vector renderer sorted local_space point_rendering accurate_facing iteration_interval nonvisible_update_timeout syntax keyword ogreparticle_variables angle colour colour_range_start colour_range_end direction emission_rate position velocity velocity_min velocity_max time_to_live time_to_live_min time_to_live_max duration duration_min duration_max repeat_delay repeat_delay_min repeat_delay_max syntax keyword ogreparticle_variables Point Box Cylinder Ellipsoid Hollow Ellipsoid Ring width height depth inner_width inner_height inner_depth emit_emitter_quota name emit_emitter syntax keyword ogreparticle_variables LinearForce ColourFader ColourFader2 Scaler Rotator ColourInterpolator ColourImage DeflectorPlane DirectionRandomiser syntax keyword ogreparticle_variables force_vector force_application red green blue alpha red1 green1 blue1 alpha1 red2 green2 blue2 alpha2 state_change rate rotation_speed_range_start rotation_speed_range_end rotation_range_start rotation_range_end time0 colour0 time1 colour1 time2 colour2 syntax keyword ogreparticle_variables plane_point plane_normal bounce randomness scope keep_velocity time3 time4 time5 colour3 colour4 colour5 image ";values syntax keyword ogreparticle_values add billboard true false none point oriented_common oriented_self perpendicular_common perpendicular_self top_left top_center top_right center_left center center_right bottom_left bottom_center bottom_right vertex texcoord on off average " integer number syn match ogreparticle_Number display "\<[0-9]\+\>" " floating point number, with dot, optional exponent syn match ogreparticle_Float "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>" " floating point number, starting with a dot, optional exponent syn match ogreparticle_Float "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>" "" floating point number, without dot, with exponent "syn match ogreparticle_Float "\<[0-9]\+e[-+]\=[0-9]\+\>" syn match ogreparticle_comment "//.*" "material Examples/OgreLogo syn match ogreparticle_MaterialName display "\(\<material\>\s\{-}\)\@<=\<\f*\>" "particle_system Examples/OgreLogo syn match ogreparticle_ParticleName display "\(\<particle_system\>\s\{-}\)\@<=\<\f*\>" "image trimid.png syn match ogreparticle_ImageName display "\(\<image\>\s\{-}\)\@<=\<\f\{-}\.\f\{-}\>" " operators: syn match ogreparticle_Brace "[{}]" "syncing method "syn sync minlines=100 " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_ogre3d_particle_syntax_inits") if version < 508 let did_ogre3d_particle_syntax_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink ogreparticle_ParticleName Function HiLink ogreparticle_MaterialName String HiLink ogreparticle_FileName String HiLink ogreparticle_Number Number HiLink ogreparticle_Float Float " HiLink ogreparticle_Brace Operator hi ogreparticle_Brace guifg=coral HiLink ogreparticle_code_blocks Structure HiLink ogreparticle_variables Statement HiLink ogreparticle_values Float HiLink ogreparticle_comment Comment delcommand HiLink endif let b:current_syntax = "ogre3d_particle" " "EOF
HOWTO use:
Just drop this in your .vim\syntax directory as ogreparticle.vim
Your .vim\filetype.vim file will probably need something like this to set your filetype automatically.
au BufNewFile,BufRead *.particle setf ogreparticle