mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:20:04 +08:00
65 lines
1.7 KiB
VimL
65 lines
1.7 KiB
VimL
runtime! plugin/textobj/line.vim
|
|
|
|
function! s:check(move_cmd, op_cmd, expected_value)
|
|
let @0 = '*nothing yanked*'
|
|
execute 'normal!' a:move_cmd
|
|
execute 'normal' a:op_cmd
|
|
Expect @0 ==# a:expected_value
|
|
endfunction
|
|
|
|
|
|
|
|
|
|
describe '<Plug>(textobj-line-select-a)'
|
|
before
|
|
new
|
|
end
|
|
|
|
after
|
|
close!
|
|
end
|
|
|
|
it 'selects all characters in the current line but the end of line'
|
|
silent 1 put! =['', ' foo bar baz ', '', 'x', '', ' ', '', '', '']
|
|
|
|
call s:check('2gg0', 'valy', ' foo bar baz ')
|
|
call s:check('2gg0', 'yal', ' foo bar baz ')
|
|
call s:check('2gg0ww', 'valy', ' foo bar baz ')
|
|
call s:check('2gg0ww', 'yal', ' foo bar baz ')
|
|
call s:check('4gg0', 'valy', 'x')
|
|
call s:check('4gg0', 'yal', 'x')
|
|
call s:check('6gg2|', 'valy', ' ')
|
|
call s:check('6gg2|', 'yal', ' ')
|
|
call s:check('8gg0', 'valy', "\n") " NB: Cannot select empty text in Visual mode.
|
|
call s:check('8gg0', 'yal', '')
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
describe '<Plug>(textobj-line-select-i)'
|
|
before
|
|
new
|
|
end
|
|
|
|
after
|
|
close!
|
|
end
|
|
|
|
it 'selects all characters in the current line but surrounding spaces'
|
|
silent 1 put! =['', ' foo bar baz ', '', 'x', '', ' ', '', '', '']
|
|
|
|
call s:check('2gg0', 'vily', 'foo bar baz')
|
|
call s:check('2gg0', 'yil', 'foo bar baz')
|
|
call s:check('2gg0ww', 'vily', 'foo bar baz')
|
|
call s:check('2gg0ww', 'yil', 'foo bar baz')
|
|
call s:check('4gg0', 'vily', 'x')
|
|
call s:check('4gg0', 'yil', 'x')
|
|
call s:check('6gg2|', 'vily', ' ') " NB: Cannot select empty text in Visual mode.
|
|
call s:check('6gg2|', 'yil', '')
|
|
call s:check('8gg0', 'vily', "\n") " NB: Cannot select empty text in Visual mode.
|
|
call s:check('8gg0', 'yil', '')
|
|
end
|
|
end
|