mirror of
https://github.com/vim/vim
synced 2025-07-16 09:12:00 +00:00
The unamed register may be referenced as both @" and @@. Remove the unused vimPlainRegister syntax group. fixes: #17603. closes: #17605 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
207 lines
3.4 KiB
VimL
207 lines
3.4 KiB
VimL
vim9script
|
|
# Vim9-script expressions
|
|
|
|
|
|
# Number
|
|
|
|
# ' separated
|
|
|
|
echo 1'000'000
|
|
echo 1'000'000.00
|
|
echo -1'000'000
|
|
echo -1'000'000.00
|
|
|
|
echo 0b1000'0000
|
|
echo 0o1000'0000
|
|
echo 0x1000'0000
|
|
echo -0b1000'0000
|
|
echo -0o1000'0000
|
|
echo -0x1000'0000
|
|
|
|
# Dictionary
|
|
|
|
echo {}
|
|
echo { foo: 21 * 2 }
|
|
echo { -foo-: 21 * 2 }
|
|
echo { 42: 21 * 2 }
|
|
echo { 'foo': 21 * 2 }
|
|
echo { "foo": 21 * 2 }
|
|
|
|
echo { foo: { bar: 21 * 2 } }
|
|
echo { foo: { -bar-: 21 * 2 } }
|
|
echo { foo: { 42: 21 * 2 } }
|
|
echo { foo: { 'bar': 21 * 2 } }
|
|
echo { foo: { "bar": 21 * 2 } }
|
|
|
|
echo { -foo-: { bar: 21 * 2 } }
|
|
echo { -foo-: { -bar-: 21 * 2 } }
|
|
echo { -foo-: { 42: 21 * 2 } }
|
|
echo { -foo-: { 'bar': 21 * 2 } }
|
|
echo { -foo-: { "bar": 21 * 2 } }
|
|
|
|
echo { 42: { bar: 21 * 2 } }
|
|
echo { 42: { -bar-: 21 * 2 } }
|
|
echo { 42: { 42: 21 * 2 } }
|
|
echo { 42: { 'bar': 21 * 2 } }
|
|
echo { 42: { "bar": 21 * 2 } }
|
|
|
|
echo { 'foo': { bar: 21 * 2 } }
|
|
echo { 'foo': { -bar-: 21 * 2 } }
|
|
echo { 'foo': { 42: 21 * 2 } }
|
|
echo { 'foo': { "bar": 21 * 2 } }
|
|
echo { 'foo': { 'bar': 21 * 2 } }
|
|
|
|
echo { "foo": { bar: 21 * 2 } }
|
|
echo { "foo": { -bar-: 21 * 2 } }
|
|
echo { "foo": { 42: 21 * 2 } }
|
|
echo { "foo": { 'bar': 21 * 2 } }
|
|
echo { "foo": { "bar": 21 * 2 } }
|
|
|
|
echo {
|
|
# comment
|
|
foo: {
|
|
bar: 21 * 2
|
|
}
|
|
}
|
|
|
|
# match as keys not scope dictionaries
|
|
echo { b: 42, w: 42, t: 42, g: 42, l: 42, s: 42, a: 42, v: 42 }
|
|
|
|
" Register
|
|
|
|
echo @" @@
|
|
echo @0 @1 @2 @3 @4 @5 @6 @7 @8 @9
|
|
echo @a @b @c @d @e @f @g @h @i @j @k @l @m @n @o @p @q @r @s @t @u @v @w @x @y @z
|
|
echo @A @B @C @D @E @F @G @H @I @J @K @L @M @N @O @P @Q @R @S @T @U @V @W @X @Y @Z
|
|
echo @- @: @. @% @# @= @* @+ @~ @_ @/
|
|
|
|
# read-only @:, @., @%, @~
|
|
@" = "foo"
|
|
@0 = "foo"
|
|
@1 = "foo"
|
|
@9 = "foo"
|
|
@a = "foo"
|
|
@k = "foo"
|
|
@z = "foo"
|
|
@A = "foo"
|
|
@K = "foo"
|
|
@Z = "foo"
|
|
@- = "foo"
|
|
@# = "foo"
|
|
@= = "foo"
|
|
@* = "foo"
|
|
@+ = "foo"
|
|
@_ = "foo"
|
|
@/ = "foo"
|
|
|
|
# Operators
|
|
|
|
# Ternary
|
|
|
|
echo expr ? expr : expr
|
|
|
|
echo lnum == 1 ? "top" : lnum
|
|
echo lnum == 1 ? "top" : lnum == 1000 ? "last" : lnum
|
|
|
|
echo lnum == 1
|
|
? "top"
|
|
: lnum == 1000
|
|
? "last"
|
|
: lnum
|
|
echo lnum == 1 ?
|
|
"top" :
|
|
lnum == 1000 ?
|
|
"last" :
|
|
lnum
|
|
|
|
echo true ? true : false
|
|
echo 1 ? 1 : 0
|
|
echo "foo" ? "foo" : "bar"
|
|
echo foo ? foo : bar
|
|
echo g:foo ? g:foo : g:bar
|
|
echo $FOO ? $FOO : $BAR
|
|
echo True() ? True() : False()
|
|
echo @a ? @a : @b
|
|
echo (true) ? (true) : (false)
|
|
echo (1) ? (1) : (0)
|
|
|
|
# Falsy
|
|
|
|
echo expr ?? expr
|
|
|
|
echo theList ?? 'list is empty'
|
|
echo GetName() ?? 'unknown'
|
|
|
|
echo theList
|
|
\ ?? 'list is empty'
|
|
echo theList ??
|
|
\ 'list is empty'
|
|
|
|
echo true ?? true
|
|
echo 1 ?? 1
|
|
echo "foo" ?? "foo"
|
|
echo foo ?? foo
|
|
echo g:foo ?? g:foo
|
|
echo $FOO ?? $FOO
|
|
echo True() ?? True()
|
|
echo @a ?? @a
|
|
echo (true) ?? (true)
|
|
echo (1) ?? (1)
|
|
|
|
|
|
# Function calls
|
|
|
|
Foo(true, false, null)
|
|
|
|
|
|
# Command {expr} arguments
|
|
|
|
if true
|
|
echo true
|
|
elseif false
|
|
echo false
|
|
endif
|
|
|
|
while true
|
|
break
|
|
endwhile
|
|
|
|
def Foo(): bool
|
|
return true
|
|
enddef
|
|
|
|
|
|
# Issue #14423 (vim.vim: Opt out of vimSearch*)
|
|
|
|
:?truthy
|
|
const truthy: number = false
|
|
? (0
|
|
)
|
|
: (1
|
|
)
|
|
echo truthy
|
|
|
|
def Foo()
|
|
:?truthy
|
|
const truthy: number = false
|
|
? (0
|
|
)
|
|
: (1
|
|
)
|
|
echo truthy
|
|
enddef
|
|
|
|
|
|
# Issue #16227 (Vim script ternary expression highlighting)
|
|
|
|
var foo = 'foo' # comment
|
|
var bar = foo == 'foo' ? 'bar' : 'baz'
|
|
var baz = foo == 'foo'
|
|
\ ? 'baz'
|
|
\ : 'bar'
|
|
var qux = foo == 'foo'
|
|
? 'qux' # comment
|
|
: 'qux' # comment
|
|
echo qux ?? 'quux'
|
|
|