diff runtime/syntax/mel.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 43efa4f5a8ea
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/mel.vim
@@ -0,0 +1,121 @@
+" Vim syntax file
+" Language:	MEL (Maya Extension Language)
+" Maintainer:	Robert Minsk <egbert@centropolisfx.com>
+" Last Change:	May 27 1999
+" Based on:	Bram Moolenaar <Bram@vim.org> 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=/<</ end=/>>/ 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 <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  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"