Adding upstream version 2:9.1.1230.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
95f88d82e6
commit
0985b09abd
6270 changed files with 2000183 additions and 0 deletions
317
runtime/syntax/testdir/input/vim_expr.vim
Normal file
317
runtime/syntax/testdir/input/vim_expr.vim
Normal file
|
@ -0,0 +1,317 @@
|
|||
" String
|
||||
|
||||
echo 'It''s a string'
|
||||
echo 'tab: \t, new line: \n, backslash: \\'
|
||||
echo "tab: \t, new line: \n, backslash: \\"
|
||||
|
||||
" String escape sequences
|
||||
|
||||
echo "\316 - \31 - \3 - \x1f - \xf - \X1F - \XF - \u02a4 - \U000002a4 - \b - \e - \f - \n - \r - \t - \\ - \" - \<C-W>"
|
||||
echo '\316 \31 \3 \x1f \xf \X1F \XF \u02a4 \U000002a4 \b \e \f \n \r \t \\ \" \<C-W>'
|
||||
echo "\3160 - \x1f0 - \X1F0 - \u02a40 - \U000002a40"
|
||||
|
||||
echo $"\316 - \31 - \3 - \x1f - \xf - \X1F - \XF - \u02a4 - \U000002a4 - \b - \e - \f - \n - \r - \t - \\ - \" - \<C-W>"
|
||||
echo $'\316 \31 \3 \x1f \xf \X1F \XF \u02a4 \U000002a4 \b \e \f \n \r \t \\ \" \<C-W>'
|
||||
echo $"\3160 - \x1f0 - \X1F0 - \u02a40 - \U000002a40"
|
||||
|
||||
echo "\<C-a>"
|
||||
echo "\<*C-a>"
|
||||
echo "\<C->>"
|
||||
echo "\<*C->>"
|
||||
echo "\<C->>>"
|
||||
echo "\<*C->>>"
|
||||
|
||||
echo ''''
|
||||
echo '''foo'
|
||||
echo 'foo'''
|
||||
echo 'foo''bar'
|
||||
|
||||
" Unreported issue (incorrectly matches as vimString vimMark vimOper NONE)
|
||||
" https://github.com/tpope/vim-unimpaired/blob/6d44a6dc2ec34607c41ec78acf81657248580bf1/plugin/unimpaired.vim#L232
|
||||
let cmd = 'put!=repeat(nr2char(10), v:count1)|silent '']+'
|
||||
|
||||
" String interpolation
|
||||
|
||||
echo 'Don''t highlight interpolation: {{ {1 + 2} }}'
|
||||
echo "Don't highlight interpolation: {{ {1 + 2} }}"
|
||||
echo $'Highlight interpolation:\t{{ { string({'foo': 'bar'}) } }}'
|
||||
echo $'Highlight interpolation:\t{{ { $'nested: {{ {1 + 2} }}' } }}'
|
||||
echo $"Highlight interpolation:\t{{ { string({"foo": "bar"}) } }}"
|
||||
echo $"Highlight interpolation:\t{{ { $"nested: {{ {1 + 2} }}" } }}"
|
||||
|
||||
echo $''''
|
||||
echo $'''foo'
|
||||
echo $'foo'''
|
||||
echo $'foo''bar'
|
||||
|
||||
" Number
|
||||
|
||||
" Hexadecimal
|
||||
echo 0xFF
|
||||
echo 0XFF
|
||||
echo -0xFF
|
||||
echo -0XFF
|
||||
|
||||
" Decimal
|
||||
echo 255
|
||||
echo -255
|
||||
|
||||
" Octal
|
||||
echo 0377
|
||||
echo 0o377
|
||||
echo 0O377
|
||||
echo -0377
|
||||
echo -0o377
|
||||
echo -0O377
|
||||
|
||||
" Binary
|
||||
echo 0b11111111
|
||||
echo 0B11111111
|
||||
echo -0b11111111
|
||||
echo -0B11111111
|
||||
|
||||
" Float
|
||||
echo 123.456
|
||||
echo +0.0001
|
||||
echo 55.0
|
||||
echo -0.123
|
||||
echo 1.234e03
|
||||
echo 1.0E-6
|
||||
echo -3.1416e+88
|
||||
|
||||
" Blob
|
||||
echo 0z
|
||||
echo 0zFF00ED015DAF
|
||||
echo 0zFF00.ED01.5DAF
|
||||
echo 0zFF.00.ED.01.5D.AF
|
||||
|
||||
" List
|
||||
|
||||
echo []
|
||||
echo [42]
|
||||
echo [[11, 12], [21, 22], [31, 32]]
|
||||
echo [1,
|
||||
\ 2,
|
||||
\ 3,
|
||||
\ 4
|
||||
\]
|
||||
echo [1, 'two', 1 + 2, "fo" .. "ur"]
|
||||
|
||||
" Issue #5830 (Incorrect syntax highlighting in Vim script when omitting space in list of string)
|
||||
let l = ['a','b','c']
|
||||
|
||||
" Dictionary
|
||||
|
||||
echo {}
|
||||
echo { 'foo': 21 * 2 }
|
||||
echo { "foo": 21 * 2 }
|
||||
echo { 42: 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": #{ 42: 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': #{ 42: 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 { 42: #{ 42: 21 * 2 } }
|
||||
|
||||
echo {
|
||||
"\ comment
|
||||
\ "foo": { "bar": 21 * 2 }
|
||||
\}
|
||||
|
||||
" TODO: arbitrary expression keys
|
||||
|
||||
" Literal Dictionary
|
||||
|
||||
echo #{}
|
||||
echo #{ foo: 21 * 2 }
|
||||
echo #{ -foo-: 21 * 2 }
|
||||
echo #{ 42: 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: { 42: 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-: { 42: 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 #{ 42: { 42: 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 @-
|
||||
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 @: @. @% @# @= @* @+ @~ @_ @/
|
||||
|
||||
" 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 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 (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 1 ?? 1
|
||||
echo "foo" ?? "foo"
|
||||
echo foo ?? foo
|
||||
echo g:foo ?? g:foo
|
||||
echo $FOO ?? $FOO
|
||||
echo True() ?? True()
|
||||
echo @a ?? @a
|
||||
echo (1) ?? (1)
|
||||
|
||||
" Comparison - using 'ignorcase'
|
||||
echo expr == expr
|
||||
echo expr != expr
|
||||
echo expr > expr
|
||||
echo expr >= expr
|
||||
echo expr < expr
|
||||
echo expr <= expr
|
||||
echo expr =~ expr
|
||||
echo expr !~ expr
|
||||
echo expr is expr
|
||||
echo expr isnot expr
|
||||
|
||||
" Comparison - match case
|
||||
echo expr ==# expr
|
||||
echo expr !=# expr
|
||||
echo expr ># expr
|
||||
echo expr >=# expr
|
||||
echo expr <# expr
|
||||
echo expr <=# expr
|
||||
echo expr =~# expr
|
||||
echo expr !~# expr
|
||||
echo expr is# expr
|
||||
echo expr isnot# expr
|
||||
|
||||
" Comparison - ignore case
|
||||
echo expr ==? expr
|
||||
echo expr !=? expr
|
||||
echo expr >? expr
|
||||
echo expr >=? expr
|
||||
echo expr <? expr
|
||||
echo expr <=? expr
|
||||
echo expr =~? expr
|
||||
echo expr !~? expr
|
||||
echo expr is? expr
|
||||
echo expr isnot? expr
|
||||
|
||||
" Unreported issue ("is" incorrectly matches as "echo vimNumber *vimCommand* vimNumber")
|
||||
echo 42 is 42
|
||||
|
||||
" Line continuation
|
||||
let foo = foo +
|
||||
\
|
||||
"\ comment
|
||||
\
|
||||
"\ comment
|
||||
\ bar +
|
||||
\ "baz"
|
||||
|
||||
let foo = foo +
|
||||
"\ comment
|
||||
\
|
||||
"\ comment
|
||||
\
|
||||
\ bar +
|
||||
\ "baz"
|
||||
|
||||
" Function calls
|
||||
|
||||
call Foo(v:true, v:false, v:null)
|
||||
|
||||
|
||||
" Issue #16221 (vimString becomes vimVar when preceded by !)
|
||||
let bar = !'g:bar'->exists()
|
||||
|
||||
|
||||
" Issue #14423 (vim.vim: Opt out of vimSearch*)
|
||||
|
||||
?truthy
|
||||
let truthy = 0
|
||||
\ ? (0
|
||||
\ )
|
||||
\ : (1
|
||||
\ )
|
||||
echo truthy
|
||||
|
||||
function Foo()
|
||||
?truthy
|
||||
let truthy = 0
|
||||
\ ? (0
|
||||
\ )
|
||||
\ : (1
|
||||
\ )
|
||||
echo truthy
|
||||
endfunction
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue