Merged from the latest developing branch.
[MacVim.git] / runtime / syntax / promela.vim
blobe812bc27491d3fcbd5924e380d9bdb6968fb356f
1 " Vim syntax file
2 " Language:                     ProMeLa
3 " Maintainer:           Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com>
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
8 " For version 5.x: Clear all syntax items
9 " For version 6.x: Quit when a syntax file was already loaded
10 if version < 600
11   syntax clear
12 elseif exists("b:current_syntax")
13   finish
14 endif
16 " case is significant
17 " syn case ignore
18 " ProMeLa Keywords
19 syn keyword promelaStatement    proctype if else while chan do od fi break goto unless
20 syn keyword promelaStatement    active assert label atomic
21 syn keyword promelaFunctions    skip timeout run
22 syn keyword promelaTodo         contained TODO
23 " ProMeLa Types
24 syn keyword promelaType                 bit bool byte short int
25 " Operators and special characters
26 syn match promelaOperator       "!"
27 syn match promelaOperator       "?"
28 syn match promelaOperator       "->"
29 syn match promelaOperator       "="
30 syn match promelaOperator       "+"
31 syn match promelaOperator       "*"
32 syn match promelaOperator       "/"
33 syn match promelaOperator       "-"
34 syn match promelaOperator       "<"
35 syn match promelaOperator       ">"
36 syn match promelaOperator       "<="
37 syn match promelaOperator       ">="
38 syn match promelaSpecial        "\["
39 syn match promelaSpecial        "\]"
40 syn match promelaSpecial        ";"
41 syn match promelaSpecial        "::"
42 " ProMeLa Comments
43 syn region promelaComment start="/\*" end="\*/" contains=promelaTodo,@Spell
44 syn match  promelaComment "//.*" contains=promelaTodo,@Spell
46 " Class Linking
47 hi def link promelaStatement    Statement
48 hi def link promelaType         Type
49 hi def link promelaComment      Comment
50 hi def link promelaOperator         Type
51 hi def link promelaSpecial      Special
52 hi def link promelaFunctions    Special
53 hi def link promelaString               String
54 hi def link promelaTodo         Todo
56 let b:current_syntax = "promela"