intellij-haskforce
intellij-haskforce copied to clipboard
Documentation
I found some time to browse some haskforce-code.It was mostly simple to understand or documented, in some cases that were confusing i added a sentence or two. I will open a pull-request when i finish the whole project. But there are some cases where i don't get what they are doing (i am not finished yet):
- codesight.BrowseItem
- codesight.LanguageExtensionsProviderFactory
- codesight.ModuleSymbolsProviderFactory
- codesight.VisibleModulesProviderFactory
Wow, that's great! There totally are a bunch of missing JavaDocs, so that'll be great.
BrowseItem
The BrowseItem is used to represent items returned from ghc-mod when browsing a module. See GhcModi.browse()
LanguageExtensionsProviderFactory
This originally was used to get a LanguageExtensionsProvider which delegated to GhcMod to fetch the Haskell language extensions. I have since replaced it with GhcLanguageExtensions object which has the extensions hard coded (much simpler, more efficient, works without configuration, and the drawbacks are minimal to nonexistent).
ModuleSymbolsProviderFactory
Related to BrowseItem, this simply creates an instance of ModuleSymbolsProvider which delegates to GhcModi to browse modules for exported symbols.
VisibleModulesProviderFactory
Just like it sounds, creates an instance of VisibleModulesProvider which delegates to GhcMod or GhcModi to find the modules which can be imported.