runtime(vim): Update base-syntax file, improve class, enum and interface highlighting

- Enable folding of class, enum and interface declarations.
- Highlight constructor names with the Function highlight group, like
  other special methods.
- Mark function definitions using special method names as errors.
- Highlight :type arguments.

fixes: #14393#issuecomment-2042796198.
closes: #13810

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 286dcbb..6b7dbf9 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 9.1.  Last change: 2024 Oct 05
+*syntax.txt*	For Vim version 9.1.  Last change: 2024 Oct 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3956,10 +3956,13 @@
 Some folding is now supported with when 'foldmethod' is set to "syntax": >
 
    g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
-   g:vimsyn_folding =~ 'a' : augroups
+   g:vimsyn_folding =~ 'a' : fold augroups
+   g:vimsyn_folding =~ 'c' : fold Vim9 classes
+   g:vimsyn_folding =~ 'e' : fold Vim9 enums
    g:vimsyn_folding =~ 'f' : fold functions
    g:vimsyn_folding =~ 'h' : fold heredocs
-   g:vimsyn_folding =~ 'H' : fold Vim9-script legacy headers
+   g:vimsyn_folding =~ 'i' : fold Vim9 interfaces
+   g:vimsyn_folding =~ 'H' : fold Vim9 legacy headers
    g:vimsyn_folding =~ 'l' : fold Lua      script
    g:vimsyn_folding =~ 'm' : fold MzScheme script
    g:vimsyn_folding =~ 'p' : fold Perl     script