Hi Bram,

On Sun, May 22, 2016 at 12:17 PM, Bram Moolenaar <[email protected]> wrote:
>
> Yegappan Lakshmanan wrote:
>
>> On Fri, May 20, 2016 at 9:17 AM, Bram Moolenaar <[email protected]>
>> wrote:
>>
>> > Justin Keyes wrote:
>> >
>> > >
>> > > ```
>> > > Doesn't work for :diffsplit, :diffpatch, :execute and :normal.
>> > > ```
>> > >
>> > > But it doesn't mention user commands. It would avoid a lot of redundant
>> > commands, and add flexibility, if `:tab` supported user commands.
>> > >
>> > > Steps to reproduce:
>> > >
>> > > ```
>> > > :command! -nargs=1 Foo split <args>
>> > > :tab Foo bar
>> > > ```
>> > >
>> > > - Expected behavior: opens a new buffer named "bar" in a new tab
>> > > - Actual behavior: opens a new buffer named "bar" in a new split window
>> >
>> > OK, but this will cause trouble if the user command has several Ex
>> > commands, then we don't know where to apply the modifier. E.g. when
>> > temporarily opening a scratch bufffer.
>> >
>> > We could make the modifiers available in <> form, so that the user
>> > command can apply them where needed. Possibly just <mods>, to pass on
>> > all modifiers.
>>
>> The attached patch adds support for the <mods> user command escape
>> sequence.
>
> Thanks.  It would be nice if the help has an example that shows how the
> modifiers are applied to only one of the commands.  E.g. do something
> else before the "split".
>

We can use the example quoted by the OP:

  :command! -nargs=1 Foo <mods> split <args>

Now the ":tab Foo bar" command will open the file in a new tab.

- Yegappan

-- 
-- 
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