carymrobbins/intellij-haskforce — pull request #105 by KasperJanssens (2014-12-27 16:19:07+00:00)
Title: Issue90 type information

Cary,

First try of the type information. It seems quite stable, been using it for a few days (provided the configuration is correct, I suppose, didn't test what happens when ghc-modi is not correctly configured).

I bound the type info call to the DocumentationProvider as well as to an action (alt - equals, like scala). I prefer the action, I think the documentation provider doesn't work so well. There are tests of the parsing of the output of ghc-modi, but not really of the documentationprovider, basically because of the abundance of static calls and the fact that I think they can only be mocked while testing, and statics can only be mocked through Powermock if I recall correctly, which would mean an extra test dependency and so on and so forth, so I left that to be your call.

Also, there is a weird behaviour that getting the editor creates a stack trace of around 5 kilometers long, something that seems like a threading issue, but the function seems to work. I don't really know why the stack trace happens, all the more because it only happens when calling the type information through the documentation provider (same code path is used when the action is called, but no stack trace). Maybe you know more what could go wrong, it looks like something intellij-related.

So, consider this a "request for comment" more than a pull request ;-)

Kasper