forked from aniani/vim
Problem: Ranges for arguments, buffers, tabs, etc. are not checked to be
valid but limited to the maximum. This can cause the wrong thing
to happen.
Solution: Give an error for an invalid value. (Marcin Szamotulski)
Use windows range for ":wincmd".
48 lines
744 B
Plaintext
48 lines
744 B
Plaintext
Tests for :[count]argument! and :[count]argdelete vim: set ft=vim :
|
|
|
|
STARTTEST
|
|
:so small.vim
|
|
:%argd
|
|
:argadd a b c d
|
|
:set hidden
|
|
:let buffers = []
|
|
:augroup TEST
|
|
:au BufEnter * call add(buffers, expand('%:t'))
|
|
:augroup END
|
|
:$argu
|
|
:$-argu
|
|
:-argu
|
|
:1argu
|
|
:+2argu
|
|
:augroup TEST
|
|
:au!
|
|
:augroup END
|
|
:let arglists = []
|
|
:.argd
|
|
:call add(arglists, argv())
|
|
:-argd
|
|
:call add(arglists, argv())
|
|
:$argd
|
|
:call add(arglists, argv())
|
|
:1arga c
|
|
:1arga b
|
|
:$argu
|
|
:$arga x
|
|
:call add(arglists, argv())
|
|
:0arga Y
|
|
:call add(arglists, argv())
|
|
:%argd
|
|
:call add(arglists, argv())
|
|
:arga a b c d e f
|
|
:2,$-argd
|
|
:call add(arglists, argv())
|
|
:e! test.out
|
|
:call append(0, buffers)
|
|
:let lnr = line('$')
|
|
:call append(lnr, map(copy(arglists), 'join(v:val, " ")'))
|
|
:w
|
|
:qa!
|
|
ENDTEST
|
|
|
|
|