On Friday, January 31, 2014 2:52:38 PM UTC-5, Daniel "paradigm" Thau wrote:
> On Wednesday, January 29, 2014 7:40:10 PM UTC-5, Daniel "paradigm" Thau wrote:
> > Apologies for the delay.
> > 
> > Review for those who have forgotten and/or don't care to backread:
> > 
> > With this patch, if the user attempts to use a block textobject 
> > (parenthesis, square brackets, curley brackets, angle brackets) and the 
> > cursor is not already within the object, vim will search for the object in 
> > a given direction.  For example, if the cursor is on one of the "l"'s below 
> > and the user enters "ci)OK<esc>"
> > 
> >     lll(mmm)rrr
> > 
> > the following will result:
> > 
> >     lll(OK)rrr
> > 
> > Note that this should not touch any already valid Vim input; only in the 
> > contexts where block text object commands do *not* already work does this 
> > do anything.
> > 
> > I've been using it quite happily for the last two months or so, but more 
> > eyes and testing would not be a bad idea.
> > 
> > Attached is the patch, in both unified and context format, including a test.
> 
> Forgot to include the alternations for the Makefile to include the new test; 
> should be fixed in this attachment.

I'm getting the feeling that this would cause pain in some scenarios. Consider 
JavaScript code like this:

    var Foo = augment(Object, function () {

        this.method = function () {
            // some method
        };

        this.otherMethod = function (a, b, c) {
            // some other method
        };

    });

This example is short, but imagine a much longer one. If my cursor were 
somewhere near "otherMethod", I might expect that ci) would bring me to the 
function parameters that follow on the same line. However, I'm already inside a 
()-block, and if I'm just focusing on the immediate context, it's quite easy to 
miss that.

I would be pretty disoriented if I ended up in Insert mode with nearly my 
entire buffer emptied when all I tried to do was change some function 
parameters to the right of my cursor. In the end, I'd have a hard time getting 
myself to trust these text objects.

The instances where Vim presently scans the line for the next text object are 
well-justified, and won't lead to huge surprises, because those text objects 
are only valid over a single line (e.g. quoted strings).

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui