mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:40:05 +08:00
64 lines
1.5 KiB
VimL
64 lines
1.5 KiB
VimL
call textobj#user#plugin('alwaysfail', {
|
|
\ 'pattern1': {
|
|
\ 'pattern': 'no such pattern',
|
|
\ 'select': '[p]',
|
|
\ },
|
|
\ 'pattern2': {
|
|
\ 'pattern': ['no such', 'pattern'],
|
|
\ 'select-a': '[pa]',
|
|
\ 'select-i': '[pi]',
|
|
\ },
|
|
\ 'function': {
|
|
\ 'select': '[sf]',
|
|
\ 'select-function': 'CannotSelect',
|
|
\ 'select-a': '[saf]',
|
|
\ 'select-a-function': 'CannotSelect',
|
|
\ 'select-i': '[sif]',
|
|
\ 'select-i-function': 'CannotSelect',
|
|
\ },
|
|
\ })
|
|
|
|
function! CannotSelect()
|
|
return 0
|
|
endfunction
|
|
|
|
describe 'textobj-user'
|
|
before
|
|
new
|
|
put ='1'
|
|
put ='22'
|
|
put ='333'
|
|
put ='4444'
|
|
put ='55555'
|
|
put ='666666'
|
|
1 delete _
|
|
end
|
|
|
|
after
|
|
close!
|
|
end
|
|
|
|
it 'operates on nothing if a proper text object is not found'
|
|
for obj in ['p', 'pa', 'pi', 'sf', 'saf', 'sif']
|
|
call cursor(3, 2)
|
|
execute 'normal' printf('y[%s]', obj)
|
|
Expect @0 == ''
|
|
Expect [obj, line("'["), col("'["), line("']"), col("']")]
|
|
\ == [obj, 3, 2, 3, 2]
|
|
Expect [obj, line("'<"), col("'<"), line("'>"), col("'>")]
|
|
\ == [obj, 0, 0, 0, 0]
|
|
endfor
|
|
end
|
|
|
|
it 'keeps the current selection if a proper text object is not found'
|
|
for obj in ['p', 'pa', 'pi', 'sf', 'saf', 'sif']
|
|
call cursor(3, 2)
|
|
execute 'normal' printf('vjjl[%s]y', obj)
|
|
Expect [obj, line("'["), col("'["), line("']"), col("']")]
|
|
\ == [obj, 3, 2, 5, 3]
|
|
Expect [obj, line("'<"), col("'<"), line("'>"), col("'>")]
|
|
\ == [obj, 3, 2, 5, 3]
|
|
endfor
|
|
end
|
|
end
|