mirror of
https://github.com/vim/vim
synced 2025-05-02 22:37:47 +02:00
Some checks are pending
GitHub CI / linux (i386, gcc, normal, ./src/shadow) (push) Waiting to run
GitHub CI / linux (native, clang, [], normal) (push) Waiting to run
GitHub CI / linux (native, clang, [], tiny) (push) Waiting to run
GitHub CI / linux (native, clang, true, [], huge, dynamic, stable-abi) (push) Waiting to run
GitHub CI / linux (native, gcc, [], normal) (push) Waiting to run
GitHub CI / linux (native, gcc, [], tiny) (push) Waiting to run
GitHub CI / linux (native, gcc, true, [], huge) (push) Waiting to run
GitHub CI / linux (arm64, gcc, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (arm64, gcc, true, [unittests], huge) (push) Waiting to run
GitHub CI / linux (clang, [asan], huge, 5.1) (push) Waiting to run
GitHub CI / linux (clang, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (gcc, [nogui], tiny) (push) Waiting to run
GitHub CI / linux (gcc, [vimtags], normal) (push) Waiting to run
GitHub CI / linux (gcc, true, [uchar testgui], huge, dynamic) (push) Waiting to run
GitHub CI / linux (gcc, true, [unittests], huge) (push) Waiting to run
GitHub CI / macos (huge, macos-13) (push) Waiting to run
GitHub CI / macos (huge, macos-15) (push) Waiting to run
GitHub CI / macos (normal, macos-13) (push) Waiting to run
GitHub CI / macos (normal, macos-15) (push) Waiting to run
GitHub CI / macos (tiny, macos-13) (push) Waiting to run
GitHub CI / macos (tiny, macos-15) (push) Waiting to run
GitHub CI / windows (no, no, x64, HUGE, stable, msvc) (push) Waiting to run
GitHub CI / windows (no, no, x86, TINY, mingw) (push) Waiting to run
GitHub CI / windows (no, yes, x64, yes, HUGE, mingw) (push) Waiting to run
GitHub CI / windows (no, yes, x86, NORMAL, msvc) (push) Waiting to run
GitHub CI / windows (yes, no, x64, NORMAL, mingw) (push) Waiting to run
GitHub CI / windows (yes, no, x86, HUGE, msvc) (push) Waiting to run
GitHub CI / windows (yes, yes, x64, TINY, msvc) (push) Waiting to run
GitHub CI / windows (yes, yes, x86, yes, HUGE, stable, mingw) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
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>
129 lines
1.8 KiB
VimL
129 lines
1.8 KiB
VimL
" Vim lambda expressions
|
|
" VIM_TEST_SETUP hi link vimLambdaOperator Todo
|
|
" VIM_TEST_SETUP hi link vimLambdaBrace Todo
|
|
" VIM_TEST_SETUP hi link vimFuncParam Identifier
|
|
|
|
|
|
let expr = 42
|
|
|
|
let Foo = {-> expr}
|
|
let Foo = {_ -> expr}
|
|
let Foo = {... -> expr}
|
|
let Foo = {x -> expr}
|
|
let Foo = {x, _ -> expr}
|
|
let Foo = {x, ... -> expr}
|
|
let Foo = {x, y -> expr}
|
|
|
|
|
|
" line continuations
|
|
|
|
let Foo = {->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
let Foo = {_ ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
let Foo = {... ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
let Foo = {x ->
|
|
\ expr
|
|
"\ comment
|
|
\ }
|
|
let Foo = {x, y ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
|
|
let Foo = {
|
|
\ ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
let Foo = {x
|
|
\ ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
let Foo = {x, y
|
|
\ ->
|
|
"\ comment
|
|
\ expr
|
|
\ }
|
|
|
|
let Foo = {x,
|
|
\ y,
|
|
\ z -> expr}
|
|
|
|
let Foo = {
|
|
"\ comment
|
|
\ x,
|
|
"\ comment
|
|
\ y,
|
|
"\ comment
|
|
\ z
|
|
"\ comment
|
|
\ ->
|
|
"\ comment
|
|
\ expr
|
|
"\ comment
|
|
\ }
|
|
|
|
let Foo = {-> [
|
|
\ 42,
|
|
\ 83
|
|
\]}
|
|
|
|
let Foo = {-> {
|
|
\ 'a': 42,
|
|
\ 'b': 83
|
|
\}}
|
|
|
|
let Foo = {-> #{
|
|
\ a: 42,
|
|
\ b: 83
|
|
\}}
|
|
|
|
let Foo = {-> {->[
|
|
\ 42,
|
|
\ 83
|
|
\]}}
|
|
|
|
let Foo = {-> {-> {
|
|
\ 'a': 42,
|
|
\ 'b': 83
|
|
\}}}
|
|
|
|
let Foo = {-> {-> #{
|
|
\ a: 42,
|
|
\ b: 83
|
|
\}}}
|
|
|
|
|
|
" :help lambda
|
|
|
|
:let F = {arg1, arg2 -> arg1 - arg2}
|
|
:echo F(5, 2)
|
|
|
|
:let F = {-> 'error function'}
|
|
:echo F('ignored')
|
|
|
|
:function Foo(arg)
|
|
: let i = 3
|
|
: return {x -> x + i - a:arg}
|
|
:endfunction
|
|
:let Bar = Foo(4)
|
|
:echo Bar(6)
|
|
|
|
:echo map([1, 2, 3], {idx, val -> val + 1})
|
|
" [2, 3, 4]
|
|
|
|
:echo sort([3,7,2,1,4], {a, b -> a - b})
|
|
" [1, 2, 3, 4, 7]
|
|
:let timer = timer_start(500,
|
|
\ {-> execute("echo 'Handler called'", "")},
|
|
\ {'repeat': 3})
|
|
|