hie-bios-0.10.0: Set up a GHC API session
Safe HaskellNone
LanguageHaskell2010

HIE.Bios.Cradle

Synopsis

Documentation

findCradle :: FilePath -> IO (Maybe FilePath) Source #

Given root/foo/bar.hs, return root/hie.yaml, or wherever the yaml file was found.

loadCradle :: FilePath -> IO (Cradle Void) Source #

Given root/hie.yaml load the Cradle.

loadImplicitCradle :: Show a => FilePath -> IO (Cradle a) Source #

Given root/foo/bar.hs, load an implicit cradle

defaultCradle :: FilePath -> Cradle a Source #

Default cradle has no special options, not very useful for loading modules.

readProcessWithOutputs Source #

Arguments

:: Outputs

Names of the outputs produced by this process

-> LogAction IO (WithSeverity Log)

Output of the process is emitted as logs.

-> FilePath

Working directory. Process is executed in this directory.

-> CreateProcess

Parameters for the process to be executed.

-> IO (ExitCode, [String], [String], [(OutputName, Maybe [String])]) 

Call a given process with temp files for the process to write to. * The process can discover the temp files paths by reading the environment. * The contents of the temp files are returned by this function, if any. * The logging function is called every time the process emits anything to stdout or stderr. it can be used to report progress of the process to a user. * The process is executed in the given directory.

readProcessWithCwd :: FilePath -> FilePath -> [String] -> String -> IO (CradleLoadResult String) Source #

Wrapper around readCreateProcess that sets the working directory and clears the environment, suitable for invoking cabal/stack and raw ghc commands.