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
100 lines
1.9 KiB
VimL
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
|