aboutsummaryrefslogtreecommitdiff
path: root/contrib/vim-fuspel/syntax
diff options
context:
space:
mode:
authorCamil Staps2018-07-01 20:09:01 +0200
committerCamil Staps2018-07-01 20:09:01 +0200
commit75e686cb7a55c59b87371640aeec0158844c4ae4 (patch)
tree5fbb743237c30d36f28b4fc0c115d621d1aaff9b /contrib/vim-fuspel/syntax
parentFix grammar (diff)
Add vim-fuspel
Diffstat (limited to 'contrib/vim-fuspel/syntax')
-rw-r--r--contrib/vim-fuspel/syntax/fuspel.vim37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/vim-fuspel/syntax/fuspel.vim b/contrib/vim-fuspel/syntax/fuspel.vim
new file mode 100644
index 0000000..d1171a1
--- /dev/null
+++ b/contrib/vim-fuspel/syntax/fuspel.vim
@@ -0,0 +1,37 @@
+" Fuspel syntax file
+" Language: Fuspel functional programing language
+" Author: Camil Staps <info@camilstaps.nl>
+" License: This file is placed in the public domain.
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword fuspelKeyword code main import
+
+syn keyword fuspelTodo TODO FIXME XXX BUG NB contained containedin=fuspelComment
+syn region fuspelComment start="//" end="$" contains=@Spell oneline display
+
+syn match fuspelInteger /\d\+/ display
+
+syn match fuspelDelimiter /\v[\[\]\(\):;=,]/ display
+
+syn match fuspelIdentifier /^[_a-zA-Z]\+/ display
+
+hi def link fuspelKeyword Keyword
+hi def link fuspelInteger Number
+hi def link fuspelDelimiter Delimiter
+hi def link fuspelIdentifier Identifier
+hi def link fuspelTodo Todo
+hi def link fuspelComment Comment
+
+syntax sync ccomment fuspelComment
+setlocal foldmethod=syntax
+
+let b:current_syntax = 'fuspel'
+
+let &cpo = s:cpo_save
+unlet s:cpo_save