Safe Haskell | None |
---|---|
Language | Haskell2010 |
A Shake implementation of the compiler service, built using the Shaker abstraction layer for in-memory use.
Synopsis
- getIdeOptions :: Action IdeOptions
- data IdeState
- initialise :: Rules () -> (FromServerMessage -> IO ()) -> Logger -> IdeOptions -> VFSHandle -> IO IdeState
- shutdown :: IdeState -> IO ()
- runAction :: IdeState -> Action a -> IO a
- runActionSync :: IdeState -> Action a -> IO a
- writeProfile :: IdeState -> FilePath -> IO ()
- getDiagnostics :: IdeState -> IO [FileDiagnostic]
- unsafeClearDiagnostics :: IdeState -> IO ()
- ideLogger :: IdeState -> Logger
- updatePositionMapping :: IdeState -> VersionedTextDocumentIdentifier -> List TextDocumentContentChangeEvent -> IO ()
Documentation
A Shake database plus persistent store. Can be thought of as storing
mappings from (FilePath, k)
to RuleResult k
.
initialise :: Rules () -> (FromServerMessage -> IO ()) -> Logger -> IdeOptions -> VFSHandle -> IO IdeState Source #
Initialise 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.
getDiagnostics :: IdeState -> IO [FileDiagnostic] Source #
unsafeClearDiagnostics :: IdeState -> IO () Source #
FIXME: This function is temporary! Only required because the files of interest doesn't work