summaryrefslogtreecommitdiffstats
path: root/syntax/kivy.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/kivy.vim')
-rw-r--r--syntax/kivy.vim40
1 files changed, 40 insertions, 0 deletions
diff --git a/syntax/kivy.vim b/syntax/kivy.vim
new file mode 100644
index 00000000..3a7159c3
--- /dev/null
+++ b/syntax/kivy.vim
@@ -0,0 +1,40 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kivy') == -1
+
+" Vim syntax file
+" Language: Kivy
+" Maintainer: Corey Prophitt <prophitt.corey@gmail.com>
+" Last Change: May 29th, 2014
+" Version: 1
+" URL: http://kivy.org/
+
+if exists("b:current_syntax")
+ finish
+endif
+
+" Load Python syntax first (Python can be used within Kivy)
+syn include @pyth $VIMRUNTIME/syntax/python.vim
+
+" Kivy language rules can be found here
+" http://kivy.org/docs/guide/lang.html
+
+" Define Kivy syntax
+syn match kivyPreProc /#:.*/
+syn match kivyComment /#.*/
+syn match kivyRule /<\I\i*\(,\s*\I\i*\)*>:/
+syn match kivyAttribute /\<\I\i*\>/ nextgroup=kivyValue
+
+syn region kivyValue start=":" end=/$/ contains=@pyth skipwhite
+
+syn region kivyAttribute matchgroup=kivyIdent start=/[\a_][\a\d_]*:/ end=/$/ contains=@pyth skipwhite
+
+hi def link kivyPreproc PreProc
+hi def link kivyComment Comment
+hi def link kivyRule Function
+hi def link kivyIdent Statement
+hi def link kivyAttribute Label
+
+let b:current_syntax = "kivy"
+
+" vim: ts=8
+
+endif