Safe Haskell | None |
---|---|
Language | Haskell2010 |
The logic for setting up a ghcide session by tapping into hie-bios.
Synopsis
- loadSession :: FilePath -> IO (Action IdeGhcSession)
Documentation
loadSession :: FilePath -> IO (Action IdeGhcSession) Source #
Given a root directory, return a Shake Action
which setups an
IdeGhcSession
given a file.
Some of the many things this does:
- Find the cradle for the file
- Get the session options,
- Get the GHC lib directory
- Make sure the GHC compiletime and runtime versions match
- Restart the Shake session
This is the key function which implements multi-component support. All components mapping to the same hie.yaml file are mapped to the same HscEnv which is updated as new components are discovered.