ghcide-0.1.0: The core of an IDE

Safe HaskellNone



A Shake implementation of the compiler service, built using the Shaker abstraction layer for in-memory use.



data IdeState Source #

A Shake database plus persistent store. Can be thought of as storing mappings from (FilePath, k) to RuleResult k.

initialise :: ClientCapabilities -> Rules () -> IO LspId -> (FromServerMessage -> IO ()) -> Logger -> IdeOptions -> VFSHandle -> IO IdeState Source #

Initialise the Compiler Service.

shutdown :: IdeState -> IO () Source #

Shutdown the Compiler Service.

runActionSync :: IdeState -> Action a -> IO a Source #

runActionSync is similar to runAction but it will wait for all rules (so in particular the ofInterestRule) to finish running. This is mainly useful in tests, where you want to wait for all rules to fire so you can check diagnostics.

unsafeClearDiagnostics :: IdeState -> IO () Source #

FIXME: This function is temporary! Only required because the files of interest doesn't work