ghcide-0.4.0: The core of an IDE

Safe HaskellNone



The logic for setting up a ghcide session by tapping into hie-bios.



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.