blob: e812bc27491d3fcbd5924e380d9bdb6968fb356f [file] [log] [blame]
Bram Moolenaar3577c6f2008-06-24 21:16:56 +00001" Vim syntax file
Bram Moolenaared39e1d2008-08-09 17:55:22 +00002" Language: ProMeLa
Bram Moolenaar3577c6f2008-06-24 21:16:56 +00003" Maintainer: Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com>
4" First Release: Mon Oct 16 08:49:46 CEST 2006
Bram Moolenaared39e1d2008-08-09 17:55:22 +00005" Last Change: Thu Aug 7 21:22:48 CEST 2008
6" Version: 0.5
Bram Moolenaar3577c6f2008-06-24 21:16:56 +00007
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
Bram Moolenaared39e1d2008-08-09 17:55:22 +000022syn keyword promelaTodo contained TODO
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000023" ProMeLa Types
24syn keyword promelaType bit bool byte short int
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000025" 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 "::"
Bram Moolenaared39e1d2008-08-09 17:55:22 +000042" ProMeLa Comments
43syn region promelaComment start="/\*" end="\*/" contains=promelaTodo,@Spell
44syn match promelaComment "//.*" contains=promelaTodo,@Spell
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000045
46" Class Linking
Bram Moolenaared39e1d2008-08-09 17:55:22 +000047hi 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
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000053hi def link promelaString String
Bram Moolenaared39e1d2008-08-09 17:55:22 +000054hi def link promelaTodo Todo
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000055
56let b:current_syntax = "promela"