runtime(kivy): update kivy syntax, include ftplugin

Kivy uses "#:" for preprocessing commands (like "#:import ...") which
were overridden by the comment syntax. This has been changed, and a
commentstring has been added.

closes: #15163

Signed-off-by: Riley Bruins <ribru17@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/kivy.vim b/runtime/ftplugin/kivy.vim
new file mode 100644
index 0000000..e19d832
--- /dev/null
+++ b/runtime/ftplugin/kivy.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin
+" Language:	Kivy
+" Maintainer:	Riley Bruins <ribru17@gmail.com>
+" Last Change:	2024 Jul 06
+
+if exists('b:did_ftplugin')
+  finish
+endif
+let b:did_ftplugin = 1
+
+setl commentstring=#\ %s
+
+let b:undo_ftplugin = 'setl cms<'
diff --git a/runtime/syntax/kivy.vim b/runtime/syntax/kivy.vim
index b145503..76e3576 100644
--- a/runtime/syntax/kivy.vim
+++ b/runtime/syntax/kivy.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    Kivy
 " Maintainer:  Corey Prophitt <prophitt.corey@gmail.com>
-" Last Change: May 29th, 2014
+" Last Change: Jul 6th, 2024
 " Version:     1
 " URL:         http://kivy.org/
 
@@ -17,7 +17,7 @@
 
 " Define Kivy syntax
 syn match kivyPreProc   /#:.*/
-syn match kivyComment   /#.*/
+syn match kivyComment   /#[^:].*/
 syn match kivyRule      /<\I\i*\(,\s*\I\i*\)*>:/
 syn match kivyAttribute /\<\I\i*\>/ nextgroup=kivyValue