summaryrefslogtreecommitdiffstats
path: root/syntax/promela.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-10-06 18:54:19 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-10-06 18:54:19 +0200
commitbc9757916ed09763d96283ee62dbed58bd713a11 (patch)
tree07fbb58e9a4f4cbf5206d89f61e4d570e64d2c1a /syntax/promela.vim
parentc6fa4d2bf5eb5301f4d3f123031cf34839a5508d (diff)
downloadvim-polyglot-bc9757916ed09763d96283ee62dbed58bd713a11.tar.gz
vim-polyglot-bc9757916ed09763d96283ee62dbed58bd713a11.zip
Add all vim filetypes
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..e32a71b1
--- /dev/null
+++ b/syntax/promela.vim
@@ -0,0 +1,57 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'promela') == -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