runtime(vim): Update base-syntax, match tuples
Tuples were introduced in commit 9cb865e. See PR #16776.
fixes: #16965
closes: #16935
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/syntax/testdir/input/vim9_tuple.vim b/runtime/syntax/testdir/input/vim9_tuple.vim
new file mode 100644
index 0000000..99370a5
--- /dev/null
+++ b/runtime/syntax/testdir/input/vim9_tuple.vim
@@ -0,0 +1,26 @@
+vim9script
+
+# Vim9 tuples
+
+
+# https://github.com/vim/vim/pull/16935#issuecomment-2738310273
+
+function LegacyMakeEntry(key, value) abort
+ return (a:key, a:value)
+endfunction
+
+def MakeEntry(key: string, value: any): tuple<string, any>
+ return (key, value)
+enddef
+
+function LegacyMakeLazyList(e1, e2) abort
+ return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2))
+endfunction
+
+def MakeLazyList(e1: any, e2: any): func(): list<any>
+ return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2))
+enddef
+
+echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')())
+echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())
+