It already works asynchronously in neovim and vim on windows, mac and linux. You can follow up with the discussion at https://github.com/neovim/neovim/issues/5522 (you can see some of the progress in thread in gifs)
https://github.com/sourcegraph/emacs-lsp
(linked from the langserver page)
Better yet, we can have language designers implement support themselves, ideally using the same code that powers their compiler. Historically, tooling support has been the single biggest stumbling block for new languages, no matter how promising. This should significantly reduce the barrier to entry for that, and make new languages more viable as a result.
The fact that it can also be used to "light up" hardcore editors like Vim and Emacs is also a nice bonus!
This. Common protocols is what has helped us independently, incrementally and exponentially make the internet more useful.
If we can (finally?) get this lesson learned down to the application level, computing may finally start advancing conceptually once again.
Right now we've been in a rinse/repeat standstill iteration for god knows how many years.
But I guess everyone is too busy trying to get rich building the next big closed service to consider fundamental issues like that...
YouCompleteMe for vim, although it relies on python so may not be portable. I took a quick stab at building one in pure vimscript and a process in vim 8 and it seemed very doable.