Vim ogre dotoverlay        

Last Update

Feral 21:35, 28 Jun 2005 (CDT)

Ogre .overlay


" {{{ File header
 " vim:ff=unix ts=4 ss=4
 " vim60:fdm=marker
 "
 " \file        ogreoverlay.vim
 " \date        Sun, 26 Jun 2005 18:40 PST
 "
 " \brief    "Language: Ogre(3d)'s .overlay
 " \note        Based on TextPad syntax definitions for Ogre3D .overlay files Copyright (C) 2004, Harrison Ulrich
 "
 " \author    "Maintainer: Robert KellyIV <sreny@srenyqernzf.pbz> (Rot13ed)
 " \note        http://www.feraldreams.com
 " \note        This is an extreme quickie; expect imperfect results!
 " }}}
 
 " 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
 syn keyword    ogreoverlay_code_blocks    container element entity template
 
 ";variables
 syn keyword    ogreoverlay_variables    zorder metrics_mode horz_align vert_align left top width height material caption
 syn keyword    ogreoverlay_variables    mesh_name entity_name position rotation
 syn keyword    ogreoverlay_variables    Panel BorderPanel TextArea TextBox
 syn keyword    ogreoverlay_variables    transparent tiling border_size border_material border_topleft_uv border_topright_uv border_bottomleft_uv border_bottomright_uv border_left_uv border_right_uv border_top_uv border_bottom_uv border_up_material border_down_material button_up_material button_down_material font_name char_height colour colour_bottom colour_top text_area back_panel up_button down_button scroll_bit
 syn keyword    ogreoverlay_variables    left top
 
 
 syn keyword    ogreoverlay_variables    border_size border_material border_topleft_uv border_top_uv border_topright_uv border_left_uv border_right_uv border_bottomleft_uv border_bottom_uv border_bottomright_uv
 
 syn keyword    ogreoverlay_variables    font_name char_height caption colour_top colour_bottom
 
 
 ";values
 syn keyword    ogreoverlay_values    true false
 syn keyword    ogreoverlay_values    pixels relative center right bottom
 
 
 " integer number
 syn match ogreoverlay_Number        display "\<[0-9]\+\>"
 
 " floating point number, with dot, optional exponent
 syn match ogreoverlay_Float        "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\>"
 " floating point number, starting with a dot, optional exponent
 syn match ogreoverlay_Float        "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\>"
 "" floating point number, without dot, with exponent
 "syn match ogreoverlay_Float        "\<[0-9]\+e[-+]\=[0-9]\+\>"
 
 
 
 
 "material Examples/OgreLogo
 syn match ogreoverlay_MaterialName    display "\(\<material\>\s\{-}\)\@<=\<\f*\>"
 syn match ogreoverlay_MaterialName    display "\(\<border_material\>\s\{-}\)\@<=\<\f*\>"
 
 "            caption Loading, please wait...
 syn match ogreoverlay_caption        display "\(\<caption\>\s\{-}\)\@<=\<\p*"
 syn match ogreoverlay_caption        display "\(\<font_name\>\s\{-}\)\@<=\<\p*"
 
 " // comments
 syn keyword ogreoverlay_Todo            contained TODO FIXME XXX
 syn match   ogreoverlay_Comment            "//.*$" contains=ogreoverlay_Todo
 
 
 " container BorderPanel(Core/LoadPanel)
 "element TextArea(Core/LoadPanel/Description)
 syn match ogreoverlay_id    display "\((\)\@<=\<\f*\>\()\)\@="
 "Core/LoadOverlay
 syn match ogreoverlay_id    display "^\<\f*\>"
 
 
 
 " operators:
 syn match    ogreoverlay_Operators        "[<>]"
 
 syn match    ogreoverlay_Operators        "[()]"
 syn match    ogreoverlay_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_overlay_syntax_inits")
     if version < 508
         let did_ogre3d_overlay_syntax_inits = 1
         command -nargs=+ HiLink hi link <args>
     else
         command -nargs=+ HiLink hi def link <args>
     endif
 
     HiLink ogreoverlay_Todo        Todo
     HiLink ogreoverlay_Comment    Comment
 
 
     HiLink ogreoverlay_id            Function
     HiLink ogreoverlay_MaterialName    Function
 
     HiLink ogreoverlay_caption        String
 
     HiLink ogreoverlay_FileName    String
     HiLink ogreoverlay_Number    Number
     HiLink ogreoverlay_Float    Float
 
     HiLink ogreoverlay_Operators    Operator
 "    HiLink ogreoverlay_Brace    Operator
     hi ogreoverlay_Brace    guifg=coral
 
     HiLink ogreoverlay_code_blocks    Structure
     HiLink ogreoverlay_variables    Statement
     HiLink ogreoverlay_values        Float
 
     delcommand HiLink
 endif
 
 let b:current_syntax = "ogre3d_overlay"
 
 "
 "EOF

HOWTO use:



Just drop this in your .vim\syntax directory as ogrematerial.vim

Your .vim\filetype.vim file will probably need something like this to set your filetype automatically.

au BufNewFile,BufRead    *.overlay            setf ogreoverlay    " [Feral:177/05@18:14] OGRE3d's .overlay files