eagletmt/neco-ghc

freeze/block/pause soon after startup

Closed this issue · 10 comments

bonds commented

I'm using Neovim and Deoplete. After loading a Haskell file and typing a few characters, the editor freezes for a minute or so. Disabling neco-ghc eliminates the freeze. I thought that using this plugin with Neovim and Deoplete would mean no freezes, but perhaps I'm doing it wrong, or perhaps support for async isn't in neco-ghc?

I have not ESP skills. Please provide the more detailed information.
Please create minimal init.vim less than 50 lines without the plugin manager.
Please upload the reproduce ways from neovim starting.

Please provide ghc version and ghc-mod version.

I thought that using this plugin with Neovim and Deoplete would mean no freezes, but perhaps I'm doing it wrong, or perhaps support for async isn't in neco-ghc?

Unfortunately, current neco-ghc source is not async.
It calls omnifunc directly. I have not much time sorry.

bonds commented

No worries, I mostly just wanted to know whether it was working as designed or not, thank you!

OK

Why was this closed? This is still an issue.

bonds commented

I closed it because its not a bug, the software is working as designed, and since @Shougo doesn't seem inclined to spend his time adding the enhancement necessary to add async support, this issue would just clutter the open issues list indefinitely to no purpose.

Implemented.

bonds commented

Wow, that's great! Thanks @Shougo!

Very nice!

However, while it doesn't lock up the UI anymore, it does spawn a whole bunch of ghc-mod processes in the background. It eventually becomes unusable again due to the CPU drain of them all.

Steps to reproduce:
Open a Haskell file that belongs to a cabal project and has a number of imports.
Enter insert mode and type a lot.

I have fixed the problem.