esterel.vim (3053B)
1 " Vim syntax file 2 " Language: ESTEREL 3 " Maintainer: Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com> 4 " Credits: Luca Necchi <luca.necchi@polito.it>, Nikos Andrikos <nick.andrik@gmail.com> 5 " First Release: Tue May 17 23:49:39 CEST 2005 6 " Last Change: Tue May 6 13:29:56 CEST 2008 7 " Version: 0.8 8 9 " quit when a syntax file was already loaded 10 if exists("b:current_syntax") 11 finish 12 endif 13 14 " case is significant 15 syn case ignore 16 " Esterel Regions 17 syn region esterelModule start=/module/ end=/end module/ contains=ALLBUT,esterelModule 18 syn region esterelLoop start=/loop/ end=/end loop/ contains=ALLBUT,esterelModule 19 syn region esterelAbort start=/abort/ end=/when/ contains=ALLBUT,esterelModule 20 syn region esterelAbort start=/weak abort/ end=/when/ contains=ALLBUT,esterelModule 21 syn region esterelEvery start=/every/ end=/end every/ contains=ALLBUT,esterelModule 22 syn region esterelIf start=/if/ end=/end if/ contains=ALLBUT,esterelModule 23 syn region esterelConcurrent transparent start=/\[/ end=/\]/ contains=ALLBUT,esterelModule 24 syn region esterelIfThen start=/if/ end=/then/ oneline 25 " Esterel Keywords 26 syn keyword esterelIO input output inputoutput constant 27 syn keyword esterelBoolean and or not xor xnor nor nand 28 syn keyword esterelExpressions mod pre 29 syn keyword esterelStatement nothing halt 30 syn keyword esterelStatement module signal sensor end 31 syn keyword esterelStatement every do loop abort weak 32 syn keyword esterelStatement emit present await 33 syn keyword esterelStatement pause when immediate 34 syn keyword esterelStatement if then else case 35 syn keyword esterelStatement var in run suspend 36 syn keyword esterelStatement repeat times combine with 37 syn keyword esterelStatement assert sustain 38 " check what it is the following 39 syn keyword esterelStatement relation 40 syn keyword esterelFunctions function procedure task 41 syn keyword esterelSysCall call trap exit exec 42 " Esterel Types 43 syn keyword esterelType integer float bolean 44 " Esterel Comment 45 syn match esterelComment "%.*$" 46 " Operators and special characters 47 syn match esterelSpecial ":" 48 syn match esterelSpecial "<=" 49 syn match esterelSpecial ">=" 50 syn match esterelSpecial "+" 51 syn match esterelSpecial "-" 52 syn match esterelSpecial "=" 53 syn match esterelSpecial ";" 54 syn match esterelSpecial "/" 55 syn match esterelSpecial "?" 56 syn match esterelOperator "\[" 57 syn match esterelOperator "\]" 58 syn match esterelOperator ":=" 59 syn match esterelOperator "||" 60 syn match esterelStatement "\<\(if\|else\)\>" 61 syn match esterelNone "\<else\s\+if\>$" 62 syn match esterelNone "\<else\s\+if\>\s" 63 64 " Class Linking 65 66 hi def link esterelStatement Statement 67 hi def link esterelType Type 68 hi def link esterelComment Comment 69 hi def link esterelBoolean Number 70 hi def link esterelExpressions Number 71 hi def link esterelIO String 72 hi def link esterelOperator Type 73 hi def link esterelSysCall Type 74 hi def link esterelFunctions Type 75 hi def link esterelSpecial Special 76 77 78 let b:current_syntax = "esterel"