mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
updated for version 7.0001
This commit is contained in:
121
runtime/syntax/mel.vim
Normal file
121
runtime/syntax/mel.vim
Normal file
@@ -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"
|
Reference in New Issue
Block a user