Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Toggling test plans with vim

by bpphillips (Friar)
on Dec 09, 2009 at 15:06 UTC ( #811936=note: print w/replies, xml ) Need Help??

in reply to Toggling test plans with vim

I modified this to take user input for the test count (using the previous value as a default) and leaves your cursor where it was:

if exists( "toggle_test_plan" ) finish endif let toggle_test_plan = 1 map <buffer> <leader>p :call ToggleTestPlan()<cr> function ToggleTestPlan() call <SID>SavePosition() let curr_line = 1 while curr_line <= line("$") if match(getline(curr_line), 'More\s*tests') > -1 %s/More tests =>/More 'no_plan'; # / call <SID>RestorePosition() elseif match(getline(curr_line), 'More\s*''no_plan') > -1 %s/More 'no_plan';\(\s*#\s*\(\d\+\).*\)\?/\="More tests => + " . input("Test Count: ", submatch(2) ) . ";"/ call <SID>RestorePosition() endif let curr_line = curr_line + 1 endwhile endfunction function <SID>SavePosition() let s:curLine = winline() let s:curColumn = wincol() endfunction function <SID>RestorePosition() exe s:curLine exe "normal! ".s:curColumn."|" endfunction

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://811936]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2018-01-17 18:37 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (203 votes). Check out past polls.