Hacker News new | ask | show | jobs
by RaitoBezarius 3598 days ago
Interesting, I wonder what are the performance / overhead on "long statements", I see there is support for async. Is it vim's own async system or NeoVIM's async system is supported as well?
1 comments

The performance is the same as if you ran everything you've typed on an interpreter - that's what it's doing behind the scenes, anyways. That means if you write `sleep(1)`, it's going to take a second to show the results. Previous jobs are cancelled on keystroke though, so (if there aren't too many bugs) it should be only running one interpreter at any given moment.

But yes, it does use Vim's async system (if you have +job and +channel), so your keystrokes aren't interrupted even if the code takes awhile to run. If Vim doesn't have support for those, it falls back on synchronous execution on CursorHold events. Currently, NVim's async is not supported, but it's in the works on an experimental branch @ user/metakirby5 :) Check out the discussion at https://github.com/metakirby5/codi.vim/issues/5