From Haskell Language Server 2.15.0.0 onwards, users can opt-in to loading all
components of their current project up front, rather than as needed. Doing so
ensures information about every module is fully available from the start, and
avoids pauses to re-initialize the session when opening a file from a new
component.
The feature is enabled by setting componentsLoading to "multi: whole-project" in the HLS configuration.
The next release of Haskell Debugger will load all components up front too. Debug sessions will then be able to support breakpoints from any module in the project, not just the entry point’s component.
The feature is provided by hie-bios >= 0.20 and the cradle config (hie.yaml)
can be used to fine-tune the list of components to load. The new
componentsToLoad
field
lets you list the exact targets to pick, which are otherwise the components
listed in the cradle or inferred from the cabal/stack project.