spacevim/bundle/vim-textobj-user/t/keep-marks.vim
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

100 lines
1.9 KiB
VimL

call textobj#user#plugin('line', {
\ '-': {
\ 'select-a': 'al',
\ 'select-a-function': 'SelectA',
\ 'select': 'il',
\ 'pattern': '^\s*\zs.\{-}\ze\s*$',
\ },
\ })
function! SelectA()
if empty(getline('.'))
return 0
endif
normal! 0
let head_pos = getpos('.')
normal! $
let tail_pos = getpos('.')
return ['v', head_pos, tail_pos]
endfunction
describe 'Custom text object'
before
new
silent 1 put! =[
\ 'if (!foo) {',
\ ' bar = ''baz''',
\ ' qux()',
\ '}',
\ ]
silent $ delete _
let @" = '*nothing changed*'
execute 'normal!' "1G2|vj\<Esc>"
end
after
close!
end
context 'defined by a function'
it 'keeps ''< and ''> marks'
TODO
Expect @0 ==# '*nothing changed*'
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
normal 3Gyal
Expect @0 ==# ' qux()'
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
end
end
context 'defined by a pattern'
it 'keeps ''< and ''> marks'
TODO
Expect @0 ==# '*nothing changed*'
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
normal 3Gyil
Expect @0 ==# 'qux()'
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
end
end
context 'combined with operator c'
it 'also works fine'
TODO
Expect @" ==# '*nothing changed*'
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
normal 3Gcilxyzzy
Expect @" ==# 'qux()'
Expect getline(1, '$') ==# [
\ 'if (!foo) {',
\ ' bar = ''baz''',
\ ' xyzzy',
\ '}',
\ ]
Expect [line("'<"), col("'<")] == [1, 2]
Expect [line("'>"), col("'>")] == [2, 2]
end
end
end
" __END__ "{{{1
" vim: foldmethod=marker