aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2008-04-29 20:40:29 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2008-04-29 20:40:29 -0500
commit0bcdc704f2a0c3100c43ce18cdc0e4ec95f5fd65 (patch)
treef6a33ae702ae43eb95e483927f6c091b1ff18e1e
parent2f8ad3e51fb2ed042d3f6b4f65a3ac6068732e15 (diff)
downloadvim-textobj-0bcdc704f2a0c3100c43ce18cdc0e4ec95f5fd65.tar.gz
vim-textobj-0bcdc704f2a0c3100c43ce18cdc0e4ec95f5fd65.zip
make inner == 0 work properly everywhere
-rw-r--r--vimrc9
1 files changed, 9 insertions, 0 deletions
diff --git a/vimrc b/vimrc
index aac0299..e629abc 100644
--- a/vimrc
+++ b/vimrc
@@ -449,10 +449,19 @@ function Textobj_arg(inner, count)
if endline[argend] == ')' && startline[argbegin - 2] != '('
let argbegin -= 1
let argbegin = match(strpart(startline, 0, argbegin), '\s*$')
+ if argbegin == 0
+ let argstartline -= 1
+ let startline = getline(argstartline)
+ let argbegin = strlen(startline)
+ endif
elseif endline[argend] != ')'
let argend += 1
let argend += matchend(strpart(endline, argend), '^\s*')
endif
+ if argend == strlen(endline)
+ let argend = 0
+ let argendline += 1
+ endif
endif
return [argstartline, argbegin, argendline, argend]