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.

(read more)

Other recent blog posts