vim-mgs/syntax/mgs.vim

43 lines
1.2 KiB
VimL

" Vim syntax file
" Language: MGS
" Filenames: *.mgs
" Maintainers: Martin Potier <mpotier@lacl.fr>
" 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