summarylogtreecommitdiffstats
path: root/syntax.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax.vim')
-rw-r--r--syntax.vim64
1 files changed, 64 insertions, 0 deletions
diff --git a/syntax.vim b/syntax.vim
new file mode 100644
index 000000000000..4c4a5cdd5b15
--- /dev/null
+++ b/syntax.vim
@@ -0,0 +1,64 @@
+if exists("b:current_syntax")
+ finish
+endif
+
+syntax keyword pseucoKW if else elseif
+syntax keyword pseucoKW for while return do continue break default select mutex
+syntax keyword pseucoKW waitForCondition signal signalAll condition with
+syntax keyword pseucoBool true false
+syntax keyword pseucoFunctions println join start unlock
+" never swap the following two lines
+syntax match pseucoFunctions "\Vlock"
+syntax match pseucoTypes "\Vlock "
+
+syntax match pseucoTypes "\V\(int\|bool\|string\)chan\d\*"
+syntax keyword pseucoTypes int void bool agent
+syntax keyword pseucoTypes struct monitor
+
+
+syntax match pseucoOperator "\v\+\+"
+syntax match pseucoOperator "\v\-\-"
+syntax match pseucoOperator "\v\+\="
+syntax match pseucoOperator "\v\-\="
+syntax match pseucoOperator "\v\*\="
+syntax match pseucoOperator "\v\/\="
+
+syntax match pseucoOperator "\v\!"
+syntax match pseucoOperator "\v\|\|"
+syntax match pseucoOperator "\v\&\&"
+syntax match pseucoOperator "\v\%"
+
+syntax match pseucoOperator "\v\<\?"
+syntax match pseucoOperator "\v\<\!"
+
+
+syntax match pseucoNumber "\v<\d+>"
+
+syntax region pseucoString start=/"/ skip=/\\"/ end=/"/ oneline
+
+highlight default link pseucoString String
+
+syntax match pseucoOperator "\v\+"
+syntax match pseucoOperator "\v\-"
+syntax match pseucoOperator "\v\*"
+syntax match pseucoOperator "\v\/"
+syntax match pseucoOperator "\v\?"
+syntax match pseucoOperator "\v\:"
+
+syntax keyword mainAgent mainAgent
+
+syntax match pseucoComment "\v *\/\/.*$"
+
+
+highlight default link pseucoComment Comment
+highlight default link pseucoNumber Number
+highlight default link pseucoOperator Operator
+highlight default link pseucoBool Boolean
+
+highlight default link pseucoKW Keyword
+highlight default link mainAgent Include
+highlight default link pseucoTypes Type
+
+highlight default link pseucoFunctions Function
+
+let b:current_syntax = "pseuco"