On Thu, 09 May 2013 05:51:48 +0200, Bram Moolenaar <b...@moolenaar.net> 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. 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 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! :-) -- -- 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.