1" Vim syntax file 2" Language: ProMeLa 3" Maintainer: Maurizio Tranchero <[email protected]> - <[email protected]> 4" First Release: Mon Oct 16 08:49:46 CEST 2006 5" Last Change: Thu Aug 7 21:22:48 CEST 2008 6" Version: 0.5 7 8" For version 5.x: Clear all syntax items 9" For version 6.x: Quit when a syntax file was already loaded 10if version < 600 11 syntax clear 12elseif exists("b:current_syntax") 13 finish 14endif 15 16" case is significant 17" syn case ignore 18" ProMeLa Keywords 19syn keyword promelaStatement proctype if else while chan do od fi break goto unless 20syn keyword promelaStatement active assert label atomic 21syn keyword promelaFunctions skip timeout run 22syn keyword promelaTodo contained TODO 23" ProMeLa Types 24syn keyword promelaType bit bool byte short int 25" Operators and special characters 26syn match promelaOperator "!" 27syn match promelaOperator "?" 28syn match promelaOperator "->" 29syn match promelaOperator "=" 30syn match promelaOperator "+" 31syn match promelaOperator "*" 32syn match promelaOperator "/" 33syn match promelaOperator "-" 34syn match promelaOperator "<" 35syn match promelaOperator ">" 36syn match promelaOperator "<=" 37syn match promelaOperator ">=" 38syn match promelaSpecial "\[" 39syn match promelaSpecial "\]" 40syn match promelaSpecial ";" 41syn match promelaSpecial "::" 42" ProMeLa Comments 43syn region promelaComment start="/\*" end="\*/" contains=promelaTodo,@Spell 44syn match promelaComment "//.*" contains=promelaTodo,@Spell 45 46" Class Linking 47hi def link promelaStatement Statement 48hi def link promelaType Type 49hi def link promelaComment Comment 50hi def link promelaOperator Type 51hi def link promelaSpecial Special 52hi def link promelaFunctions Special 53hi def link promelaString String 54hi def link promelaTodo Todo 55 56let b:current_syntax = "promela" 57