Floobits / floobits-vim

Floobits Vim Plugin
Apache License 2.0
244 stars 8 forks source link

Make vim natively support async actions #20

Open kans opened 11 years ago

kans commented 11 years ago

This is a monster task- we will have to fork vim.

beaugunderson commented 11 years ago

Why not use vimproc?

kans commented 11 years ago

@beaugunderson, I've never used vimproc, thanks for the info.

I read through their code and it looks like vimproc is blocking: https://github.com/Shougo/vimproc.vim/blob/master/plugin/vimproc.vim#L55. IE, they fork a pty in their child process, and read from the file descriptors until its done in a while loop.

We need a way to call an action every 50ms and return control flow to vim. We've found a few ways, but they cause really bad side effects. We break all chords with f/e or interrupt all feed keys when using client/server. Vim isn't designed for the ability to perform async actions, so we plan on forking it.

Please let me know if your experience differs from mine.

ggreer commented 11 years ago

Patch submitted: https://groups.google.com/forum/#!topic/vim_dev/-4pqDJfHCsM