Daniel Hahler
Daniel Hahler
Tried the following patch: ```diff diff --git i/neovim/msgpack_rpc/event_loop/asyncio.py w/neovim/msgpack_rpc/event_loop/asyncio.py index 656f552..5289957 100644 --- i/neovim/msgpack_rpc/event_loop/asyncio.py +++ w/neovim/msgpack_rpc/event_loop/asyncio.py @@ -106,12 +106,26 @@ def _start_reading(self): def _send(self, data): self._transport.write(data) + def is_running(self): +...
Related? https://github.com/neovim/python-client/issues/324 / https://github.com/tweekmonster/deoplete-clang2/issues/30
@bfredl Can you provide more insight with regard to your last comment?
With deoplete-jedi it currently looks like this: ``` [deoplete.jedi.client] Caught BrokenPipeError(32, 'Broken pipe') during handling completions [deoplete] Traceback (most recent call last): File "/home/user/.vim/plugged/deoplete.nvim/rplugin/python3/deoplete/child.py", line 226, in _gather_results ctx['candidates'] =...
deoplete-jedi does though. It basically can be triggered by using deoplete's logger from the thread. deoplete's logger has a filter to call into Neovim via `deoplete#util#print_error` then for errors: ```...
I wonder if deoplete-jedi should also switch to using asyncio instead of threads, but that might not be trivial. /cc @shougo
As for deoplete-jedi I will change it to get the exceptions from the threads into the caller, and then logging should happen from there.
What would be a documentation update? Mentioning that remote calls cannot be made from threads?! (the problem is not really clear to me)
This is what I've done for deoplete-jedi: https://github.com/zchee/deoplete-jedi/pull/178 - it stores exceptions in the threads, and collects them for non-alive threads then.
Agreed. I've thought that it might be intentional, but I also think that it should not wait. The main issue is that the second case even triggers the hit-enter prompt...