Loading ...
Sorry, an error occurred while loading the content.

Re: Functions with [range] do not preserve the cursor line

Expand Messages
  • Nate Soares
    In that case I d like to make a feature request for a way to handle functions with ranges without moving the cursor. My suggestion would be adding a [save]
    Message 1 of 33 , Nov 20, 2012
    • 0 Attachment
      In that case I'd like to make a feature request for a way to handle functions with ranges without moving the cursor. My suggestion would be adding a [save] argument to :function which calls winsaveview() before entering and winrestview() after exiting the function, as this has potential applications beyond just [range] functions.

      Thoughts on the proposed api?


      On Tue, Nov 20, 2012 at 9:54 AM, Andy Wokula <anwoku@...> wrote:
      Am 20.11.2012 17:48, schrieb Christian Brabandt:

      On Tue, November 20, 2012 17:46, Ingo Karkat wrote:
      I omit the range attribute on the function and explicitly pass the
      range
      in:
      #v+
           function! s:Foo( firstLine, lastLine )
              ...
           endfunction
           command! -range=% Foo call <SID>Foo(<line1>,<line2>)
      #v-

      Yes, that was what I meant initially.

      That works pretty well (for hidden implementation (<sid>Name() etc)
      functions).
      Just don't use this for a (global) function that can be used
      (interactively) at the cmdline ... it's impractical for the user to pass
      a range then.

      --
      Andy


      --
      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 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
    • So8res
      ... Any word on getting a variant of range functions that don t move the cursorline? This still bites me occasionally. -- -- You received this message from the
      Message 33 of 33 , Nov 11, 2013
      • 0 Attachment
        On Wednesday, December 5, 2012 9:13:17 AM UTC-8, So8res wrote:
        > >
        > > I don't like "stay", but can't think of something better right now.
        > >
        > > Perhaps "keepline"?
        > >
        >
        > How do you feel about using 'range!' (with a bang) instead?
        >
        > It would keep the :function argument space more concise, and would only be usable with 'range', both of which are nice. However, there's no precedent (that I can find) for command arguments having bangs.

        Any word on getting a variant of range functions that don't move the cursorline? This still bites me occasionally.

        --
        --
        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 vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      Your message has been successfully submitted and would be delivered to recipients shortly.