Closed
Description
We added support for loading multiple component loading in #3462 and since then, we had a couple of bug reports and other issues, such as haskell/cabal#9860.
We improve the situation by adding a hie-bios
configuration and expand this configurability to HLS itself: It should be possible to use the cabal multi-repl
feature by toggling an option in the lsp client.
To achieve that, introduce a new LSP config:
Description: Specify the project loading strategy of the Language Server. It allows the build tool (such as cabal
or stack
) to load multiple components at once. While this can lead to an improved IDE experience, it is an experimental feature. Only change to "Single Component" when you encounter issues with cabal
.
Configs:
- Single Component: Always load only a single component at a time. This is the most reliable option if you encountered any issues with the other options.
- Multiple Components: Allow the build tool to setup a multiple component session, if the build tool supports it. At the moment, only
cabal
supports loading with multiple components. If thecabal
version does not support load multiple components at once, HLS falls gracefully back to "Single Component" mode - Auto: Let HLS decide how to load your project. For build tools that support it, HLS will use "Multiple Components" and otherwise "Single Component". Starting from the
cabal
version3.12
,cabal
supports loading of multiple components at once.
Related issue: #3738