aboutsummaryrefslogtreecommitdiff
path: root/vim/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'vim/syntax')
-rw-r--r--vim/syntax/sil.vim37
1 files changed, 37 insertions, 0 deletions
diff --git a/vim/syntax/sil.vim b/vim/syntax/sil.vim
new file mode 100644
index 0000000..7797177
--- /dev/null
+++ b/vim/syntax/sil.vim
@@ -0,0 +1,37 @@
+" Clean syntax file
+" Language: Simple imperative language
+" Author: Camil Staps <info@camilstaps.nl>
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn include @ABC syntax/abc.vim
+
+syn keyword silConditional if else while
+syn keyword silStatement return
+syn keyword silType Bool Int Void
+
+syn match silOperator "[-~@#$%^?!+*<>\/|&=:.]\+" display
+
+syn match silInteger "\<\d\+\>" display
+syn keyword silBool True False
+
+syn match silABC "|\~.*$" contains=@ABC transparent
+
+hi def link silConditional Conditional
+hi def link silStatement Statement
+hi def link silType Type
+
+hi def link silOperator Operator
+
+hi def link silInteger Number
+hi def link silBool Boolean
+
+let b:current_syntax = 'sil'
+
+let &cpo = s:cpo_save
+unlet s:cpo_save