commit b3e426cc4fdb1c295b2ded02c879e64c1bd1f5a2 Author: Martin Potier Date: Fri Apr 10 17:33:30 2015 +0200 Initial commit diff --git a/syntax/mgs.vim b/syntax/mgs.vim new file mode 100644 index 0000000..ddf68b3 --- /dev/null +++ b/syntax/mgs.vim @@ -0,0 +1,42 @@ +" Vim syntax file +" Language: MGS +" Filenames: *.mgs +" Maintainers: Martin Potier +" Last Change: 2015 April 10 - Initial file + +if exists("b:current_syntax") + finish +endif + +" MGS is case sensitive. +syn case match + +" Keywords +syn keyword mgsIfThenElseFi if then else fi +syn keyword mgsKeywords fun trans gbf + +" Comments +syn match mgsLineComment "//.*$" contains=mgsLineComment,mgsOCamlLikeComment,mgsCppLikeComment +syn region mgsOCamlLikeComment start="(\*" end="\*)" contains=mgsLineComment,mgsOCamlLikeComment,mgsCppLikeComment +syn region mgsCppLikeComment start="/\*" end="\*/" contains=mgsLineComment,mgsOCamlLikeComment,mgsCppLikeComment + +" Command block +syn region mgsCommandBlock start="^!set" end=";;" + +" Strings +syn region mgsString start=+"+ skip=+\\\\\|\\"+ end=+"+ + +let b:current_syntax = "mgs" + +hi def link mgsKeywords Statement +hi def link mgsIfThenElseFi Statement +hi def link mgsLineComment Comment +hi def link mgsOCamlLikeComment Comment +hi def link mgsCppLikeComment Comment +hi def link mgsCommandBlock PreProc +hi def link mgsString Constant + +"hi def link celTodo Todo +"hi def link celHip Type +"hi def link celString Constant +"hi def link celNumber Constant