Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
A Shake implementation of the compiler service, built using the Shaker abstraction layer for in-memory use.
Synopsis
- getIdeOptions :: Action IdeOptions
- getIdeOptionsIO :: ShakeExtras -> IO IdeOptions
- data IdeState
- initialise :: Recorder (WithPriority Log) -> Config -> IdePlugins IdeState -> Rules () -> Maybe (LanguageContextEnv Config) -> Debouncer NormalizedUri -> IdeOptions -> WithHieDb -> ThreadQueue -> Monitoring -> FilePath -> IO IdeState
- shutdown :: IdeState -> IO ()
- runAction :: String -> IdeState -> Action a -> IO a
- getDiagnostics :: IdeState -> STM [FileDiagnostic]
- ideLogger :: IdeState -> Recorder (WithPriority Log)
- updatePositionMapping :: IdeState -> VersionedTextDocumentIdentifier -> [TextDocumentContentChangeEvent] -> STM ()
- data Log
- = LogShake Log
- | LogOfInterest Log
- | LogFileExists Log
Documentation
A Shake database plus persistent store. Can be thought of as storing
mappings from (FilePath, k)
to RuleResult k
.
Instances
MonadReader (ReactorChan, IdeState) (ServerM c) Source # | |
Defined in Development.IDE.LSP.Server ask :: ServerM c (ReactorChan, IdeState) # local :: ((ReactorChan, IdeState) -> (ReactorChan, IdeState)) -> ServerM c a -> ServerM c a # reader :: ((ReactorChan, IdeState) -> a) -> ServerM c a # |
:: Recorder (WithPriority Log) | |
-> Config | |
-> IdePlugins IdeState | |
-> Rules () | |
-> Maybe (LanguageContextEnv Config) | |
-> Debouncer NormalizedUri | |
-> IdeOptions | |
-> WithHieDb | |
-> ThreadQueue | |
-> Monitoring | |
-> FilePath | Root directory see Note [Root Directory] |
-> IO IdeState |
Initialise the Compiler Service.
getDiagnostics :: IdeState -> STM [FileDiagnostic] Source #
updatePositionMapping :: IdeState -> VersionedTextDocumentIdentifier -> [TextDocumentContentChangeEvent] -> STM () Source #