summaryrefslogtreecommitdiffstats
path: root/syntax/promela.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2017-09-27 20:43:42 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2017-09-27 20:43:42 +0200
commit5b77877888162f4e415fe9a7b8c5e9fb5dfb6ee1 (patch)
tree965ae5128797f3d42d78d02692e62d24a4596e19 /syntax/promela.vim
parent8148255ef1c416f414c3a78405eff08fe149d16e (diff)
downloadvim-polyglot-5b77877888162f4e415fe9a7b8c5e9fb5dfb6ee1.tar.gz
vim-polyglot-5b77877888162f4e415fe9a7b8c5e9fb5dfb6ee1.zip
Add syntax files from upstream vim repository
Diffstat (limited to 'syntax/promela.vim')
-rw-r--r--syntax/promela.vim57
1 files changed, 57 insertions, 0 deletions
diff --git a/syntax/promela.vim b/syntax/promela.vim
new file mode 100644
index 00000000..f4a144b4
--- /dev/null
+++ b/syntax/promela.vim
@@ -0,0 +1,57 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
+
+" Vim syntax file
+" Language: ProMeLa
+" Maintainer: Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com>
+" First Release: Mon Oct 16 08:49:46 CEST 2006
+" Last Change: Thu Aug 7 21:22:48 CEST 2008
+" Version: 0.5
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" case is significant
+" syn case ignore
+" ProMeLa Keywords
+syn keyword promelaStatement proctype if else while chan do od fi break goto unless
+syn keyword promelaStatement active assert label atomic
+syn keyword promelaFunctions skip timeout run
+syn keyword promelaTodo contained TODO
+" ProMeLa Types
+syn keyword promelaType bit bool byte short int
+" Operators and special characters
+syn match promelaOperator "!"
+syn match promelaOperator "?"
+syn match promelaOperator "->"
+syn match promelaOperator "="
+syn match promelaOperator "+"
+syn match promelaOperator "*"
+syn match promelaOperator "/"
+syn match promelaOperator "-"
+syn match promelaOperator "<"
+syn match promelaOperator ">"
+syn match promelaOperator "<="
+syn match promelaOperator ">="
+syn match promelaSpecial "\["
+syn match promelaSpecial "\]"
+syn match promelaSpecial ";"
+syn match promelaSpecial "::"
+" ProMeLa Comments
+syn region promelaComment start="/\*" end="\*/" contains=promelaTodo,@Spell
+syn match promelaComment "//.*" contains=promelaTodo,@Spell
+
+" Class Linking
+hi def link promelaStatement Statement
+hi def link promelaType Type
+hi def link promelaComment Comment
+hi def link promelaOperator Type
+hi def link promelaSpecial Special
+hi def link promelaFunctions Special
+hi def link promelaString String
+hi def link promelaTodo Todo
+
+let b:current_syntax = "promela"
+
+endif