" Vim syntax file " Language: MEL (Maya Extension Language) " Maintainer: Robert Minsk " Last Change: May 27 1999 " Based on: Bram Moolenaar C syntax file " 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 " when wanted, highlight trailing white space and spaces before tabs if exists("mel_space_errors") sy match melSpaceError "\s\+$" sy match melSpaceError " \+\t"me=e-1 endif " A bunch of usefull MEL keyworks sy keyword melBoolean true false yes no on off sy keyword melFunction proc sy match melIdentifier "\$\(\a\|_\)\w*" sy keyword melStatement break continue return sy keyword melConditional if else switch sy keyword melRepeat while for do in sy keyword melLabel case default sy keyword melOperator size eval env exists whatIs sy keyword melKeyword alias sy keyword melException catch error warning sy keyword melInclude source sy keyword melType int float string vector matrix sy keyword melStorageClass global sy keyword melDebug trace sy keyword melTodo contained TODO FIXME XXX " MEL data types sy match melCharSpecial contained "\\[ntr\\"]" sy match melCharError contained "\\[^ntr\\"]" sy region melString start=+"+ skip=+\\"+ end=+"+ contains=melCharSpecial,melCharError sy case ignore sy match melInteger "\<\d\+\(e[-+]\=\d\+\)\=\>" sy match melFloat "\<\d\+\(e[-+]\=\d\+\)\=f\>" sy match melFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=f\=\>" sy match melFloat "\.\d\+\(e[-+]\=\d\+\)\=f\=\>" sy case match sy match melCommaSemi contained "[,;]" sy region melMatrixVector start=/<>/ contains=melInteger,melFloat,melIdentifier,melCommaSemi sy cluster melGroup contains=melFunction,melStatement,melConditional,melLabel,melKeyword,melStorageClass,melTODO,melCharSpecial,melCharError,melCommaSemi " catch errors caused by wrong parenthesis sy region melParen transparent start='(' end=')' contains=ALLBUT,@melGroup,melParenError,melInParen sy match melParenError ")" sy match melInParen contained "[{}]" " comments sy region melComment start="/\*" end="\*/" contains=melTodo,melSpaceError sy match melComment "//.*" contains=melTodo,melSpaceError sy match melCommentError "\*/" sy region melQuestionColon matchgroup=melConditional transparent start='?' end=':' contains=ALLBUT,@melGroup if !exists("mel_minlines") let mel_minlines=15 endif exec "sy sync ccomment melComment minlines=" . mel_minlines " 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_mel_syntax_inits") if version < 508 let did_mel_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink melBoolean Boolean HiLink melFunction Function HiLink melIdentifier Identifier HiLink melStatement Statement HiLink melConditional Conditional HiLink melRepeat Repeat HiLink melLabel Label HiLink melOperator Operator HiLink melKeyword Keyword HiLink melException Exception HiLink melInclude Include HiLink melType Type HiLink melStorageClass StorageClass HiLink melDebug Debug HiLink melTodo Todo HiLink melCharSpecial SpecialChar HiLink melString String HiLink melInteger Number HiLink melFloat Float HiLink melMatrixVector Float HiLink melComment Comment HiLink melError Error HiLink melSpaceError melError HiLink melCharError melError HiLink melParenError melError HiLink melInParen melError HiLink melCommentError melError delcommand HiLink endif let b:current_syntax = "mel"