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

Re: Pluggable eventloop, was Re: Plans for Vim 7.4

Expand Messages
  • tyru
    Hi vimmers! On Sat, May 11, 2013 at 11:45 AM, Tony Mechelynck ... updatetime option is used as event-timer among Vimmers who knows Vimscript well. so I think
    Message 1 of 57 , May 11, 2013
    • 0 Attachment
      Hi vimmers!

      On Sat, May 11, 2013 at 11:45 AM, Tony Mechelynck
      <antoine.mechelynck@...> wrote:
      > On 10/05/13 10:54, Jan Pobrislo wrote:
      >>
      >> On Thu, 09 May 2013 05:51:48 +0200, Bram Moolenaar <Bram@...>
      >> wrote:
      >>>
      >>> The top five of the voting list:
      >>> http://www.vim.org/sponsor/vote_results.php
      >>>
      >>> 1. add IDE features
      >>> 2. add integration with Python instead of inventing more Vim script
      >>> 3. fix all problems, big and small; make Vim more robust
      >>> 4. improve syntax highlighting speed
      >>> 5. add collaborative editing
      >>
      >>
      >> Hello
      >>
      >> I'm quite curious what is meant by IDE-like features. From my experience
      >> most of that is covered by plugins already, except for one significant
      >> roadblock: inability to communicate with external processes without
      >> blocking
      >> whole UI. There are hacks to get around it crudely, but they break other
      >> stuff.
      >>
      >> To allow really complex interactions from vim plugins, one "simple" change
      >> needs to be done: allow plugins to hook into vim's eventloop. Given
      >> interface to add and remove filedescriptors being watched with custom
      >> callbacks and possibly a timeout callback would be all that's needed.
      >>
      >> To actually implement that there are some options. Currently vim has
      >> several
      >> system-specific and UI-specific eventloop implementations. So we can:
      >>
      >> 1) Add VimL api to hook into the eventloops. The unix poll() eventloop
      >> seems
      >> simple enough to start with.
      >
      >
      > Is it guaranteed to be available? Think MS-Windows or IBM-mainframe.

      'updatetime' option is used as event-timer among Vimmers who knows
      Vimscript well.
      so I think making updatetime buffer-local is the easiest way to
      implement async feature.

      I also want Vim to have more sophisticated built-in async feature, though.
      +1 for poll() interface if it can be implemented.

      >
      >
      >>
      >> 1a) Use it from other languages, which will be awkward, since one has
      >> to
      >> generate vim code to run.
      >>
      >> 1b) Write vim wrappers for functions like popen(), socket(),
      >> connect()...
      >> so pure-VimL scripting will be possible.
      >>
      >> 2) Add support for some established eventloop that is already pluggable. I
      >> suspect glib can already be accessed inside gvim. My choice for
      >> terminal
      >
      >
      > glib inside Vim? Again, even when compiled on MS Visual C or on some z390
      > compiler? Don't forget that Vim is multi-platform, and that we're proud of
      > that.
      >
      >
      >> vim would probably be libevent which is highly portable and supported
      >> by
      >> libraries of most scripting languages out there (I know of gevent for
      >> python. Perl, lua and ruby should also have one). That way we can have
      >> features working those languages first and then go on with VimL api
      >> as for 1)
      >>
      >> My main issue so far was not knowing enough of C interfaces in vim to code
      >> an actual api. I want to go on with 2) when I have spare time, which I
      >> sadly
      >> can't guarantee right now, but I wanted to atleast to bring up this
      >> question.
      >>
      >> Footnotes:
      >> - I know of the netbeans protocol. It's old and clunky and I don't
      >> believe
      >> it lives up to this task.
      >> - I've seen some patch for this several years back in the archives of
      >> the
      >> mailing list, no further work has been done on this from what I found.
      >>
      >> Thanks for great editor btw! :-)
      >>
      > Yes, a great editor for sure.

      agreed :)

      >
      > Best regards,
      > Tony.
      > --
      > "You can bring any calculator you like to the midterm, as long as it
      > doesn't dim the lights when you turn it on."
      > -- Hepler, Systems Design 182
      >
      >
      > --
      > --
      > 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.
      >
      >

      --
      --
      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.
    • Bram Moolenaar
      ... Thanks, I ll include them. -- DENNIS: You can t expect to wield supreme executive power just cause some watery tart threw a sword at you! Monty Python
      Message 57 of 57 , May 23, 2013
      • 0 Attachment
        Thomas Köhler wrote:

        > Hello Bram, hello Ron,
        >
        > Bram Moolenaar wrote:
        > > Hello Vim users,
        > [...]
        > > Besides that, if you are maintaining runtime files, please send me any
        > > pending updates. I will not make big changes just before the release,
        > > everything needs some time for testing. Let's set a deadline at the end
        > > of May.
        >
        > Attached, you can find a new version of prolog.vim (syntax
        > highlightning for prolog) and koehler.vim (my colorscheme). The
        > former fixes a bug in prologClauseHead higlightning, the later
        > now supports the Underline and Ignore groups.

        Thanks, I'll include them.

        --
        DENNIS: You can't expect to wield supreme executive power just 'cause some
        watery tart threw a sword at you!
        "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

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