aboutsummaryrefslogtreecommitdiffstats
path: root/vimrc
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2008-04-28 01:25:40 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2008-04-28 01:25:40 -0500
commit4771ed09852d898f0bd0c9561eb2e1c0be855ce3 (patch)
treed24dded4fdb2eebbb626c94025d634e2dd9c9196 /vimrc
parent8383c3b1eae06c1e4a4441c527d5ac667a1239c3 (diff)
downloadvim-textobj-4771ed09852d898f0bd0c9561eb2e1c0be855ce3.tar.gz
vim-textobj-4771ed09852d898f0bd0c9561eb2e1c0be855ce3.zip
convert the fold text object to use the new helper function
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc26
1 files changed, 10 insertions, 16 deletions
diff --git a/vimrc b/vimrc
index b594357..7ce90e4 100644
--- a/vimrc
+++ b/vimrc
@@ -367,25 +367,19 @@ endfunction
call Textobj('/', 'Textobj_regex')
" }}}
" f for folds {{{
-function Textobj_fold(inner, operator, count)
+function Textobj_fold(inner, count)
+ let pos = getpos('.')
+
exe 'normal! '.a:count.'[z'
- let startpos = line('.') + a:inner
+ let startline = line('.') + a:inner
normal! ]z
- let endpos = line('.') - a:inner
- exe 'normal! '.startpos.'G'
- exe 'normal! '.a:operator.endpos.'G'
-
- if a:operator == 'c'
- normal! l
- startinsert
- elseif a:operator == 'v'
- normal! $
- endif
+ let endline = line('.') - a:inner
+
+ call setpos('.', pos)
+
+ return [startline, 1, endline, strlen(getline(endline))]
endfunction
-onoremap <silent>af <Esc>:call Textobj_fold(0, v:operator, v:prevcount)<CR>
-onoremap <silent>if <Esc>:call Textobj_fold(1, v:operator, v:prevcount)<CR>
-xnoremap <silent>af <Esc>:call Textobj_fold(0, 'v', v:prevcount)<CR>
-xnoremap <silent>if <Esc>:call Textobj_fold(1, 'v', v:prevcount)<CR>
+call Textobj('f', 'Textobj_fold')
" }}}
" }}}