ghcide-2.7.0.0: The core of an IDE
Safe HaskellSafe-Inferred
LanguageGHC2021

Development.IDE.LSP.LanguageServer

Documentation

runLanguageServer :: forall config a m. Show config => Recorder (WithPriority Log) -> Options -> Handle -> Handle -> config -> (config -> Value -> Either Text config) -> (config -> m config ()) -> (MVar () -> IO (LanguageContextEnv config -> TRequestMessage Method_Initialize -> IO (Either ResponseError (LanguageContextEnv config, a)), Handlers (m config), (LanguageContextEnv config, a) -> m config <~> IO)) -> IO () Source #

setupLSP Source #

Arguments

:: forall config err. Recorder (WithPriority Log) 
-> (FilePath -> IO FilePath)

Map root paths to the location of the hiedb for the project

-> Handlers (ServerM config) 
-> (LanguageContextEnv config -> Maybe FilePath -> WithHieDb -> IndexQueue -> IO IdeState) 
-> MVar () 
-> IO (LanguageContextEnv config -> TRequestMessage Method_Initialize -> IO (Either err (LanguageContextEnv config, IdeState)), Handlers (ServerM config), (LanguageContextEnv config, IdeState) -> ServerM config <~> IO)