Mercurial > vim
diff runtime/syntax/esterel.vim @ 277:fe16c18c24a7
updated for version 7.0074
author | vimboss |
---|---|
date | Fri, 20 May 2005 21:25:31 +0000 |
parents | |
children | 1f3b1021f002 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/runtime/syntax/esterel.vim @@ -0,0 +1,71 @@ +" Vim syntax file +" Language: ESTEREL +" Maintainer: Maurizio Tranchero <mtranchero@yahoo.it> +" Credits: Luca Necchi <luca.necchi@polito.it> +" Last Change: Tue May 17 23:49:39 CEST 2005 +" Version: 0.2 + +" 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 + +" case is significant +syn case ignore +" Esterel Regions +syn region esterelModule start=/module/ end=/end module/ contains=ALLBUT,esterelModule +syn region esterelLoop start=/loop/ end=/end loop/ contains=ALLBUT,esterelModule +syn region esterelAbort start=/abort/ end=/end abort/ contains=ALLBUT,esterelModule +syn region esterelEvery start=/every/ end=/end every/ contains=ALLBUT,esterelModule +syn region esterelIf start=/if/ end=/end if/ contains=ALLBUT,esterelModule +"syn region esterelConcurrent start=/\[/ end=/\]/ contains=ALLBUT,esterelModule +syn region esterelConcurrent transparent start=/\[/ end=/\]/ contains=ALLBUT,esterelModule +syn region esterelIfThen start=/if/ end=/then/ oneline +" and weak abort? how to make vim know that start='weak abort'? +" Esterel Keywords +syn keyword esterelStatement module signal end +syn keyword esterelIO input output +syn keyword esterelStatement every do loop abort weak +syn keyword esterelStatement emit present await +syn keyword esterelStatement if then else +syn keyword esterelBoolean and or not xor xnor nor nand +syn keyword esterelOperator \[ \] +syn keyword esterelPippo pippo +" Esterel Types +syn keyword esterelType integer float bolean +" Esterel Comment +syn match esterelComment "%.*$" +" Operators and special characters +syn match esterelSpecial ":" +syn match esterelSpecial ";" +syn match esterelOperator "\[" +syn match esterelOperator "\]" +syn match esterelOperator ":=" +syn match esterelStatement "\<\(if\|else\)\>" +syn match esterelNone "\<else\s\+if\>$" +syn match esterelNone "\<else\s\+if\>\s" + +" Class Linking +if version >= 508 || !exists("did_esterel_syntax_inits") + if version < 508 + let did_esterel_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink esterelStatement Statement + HiLink esterelType Type + HiLink esterelComment Comment + HiLink esterelBoolean Number + HiLink esterelIO String + HiLink esterelOperator Type + HiLink esterelSpecial Special + + delcommand HiLink +endif + +let b:current_syntax = "esterel"