ghcide-2.4.0.0: The core of an IDE

Safe Haskell | Safe-Inferred
Language | Haskell2010

Development.IDE.LSP.Server

# Documentation

data ReactorMessage #

Constructors

ReactorNotification (IO ()) |
ReactorRequest SomeLspId (IO ()) (ResponseError -> IO ()) |

#### Instances

Instances details

MonadReader (ReactorChan, IdeState) (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods ask :: ServerM c (ReactorChan, IdeState) # local :: ((ReactorChan, IdeState) -> (ReactorChan, IdeState)) -> ServerM c a -> ServerM c a # reader :: ((ReactorChan, IdeState) -> a) -> ServerM c a #

type ReactorChan = Chan ReactorMessage #

newtype ServerM c a #

Constructors

ServerM |
Fields unServerM :: ReaderT (ReactorChan, IdeState) (LspM c) a

#### Instances

Instances details

MonadLsp c (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods getLspEnv :: ServerM c (LanguageContextEnv c) #
MonadIO (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods liftIO :: IO a -> ServerM c a #
Applicative (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods pure :: a -> ServerM c a # (<*>) :: ServerM c (a -> b) -> ServerM c a -> ServerM c b # liftA2 :: (a -> b -> c0) -> ServerM c a -> ServerM c b -> ServerM c c0 # (*>) :: ServerM c a -> ServerM c b -> ServerM c b # (<*) :: ServerM c a -> ServerM c b -> ServerM c a #
Functor (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods fmap :: (a -> b) -> ServerM c a -> ServerM c b # (<$) :: a -> ServerM c b -> ServerM c a #
Monad (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods (>>=) :: ServerM c a -> (a -> ServerM c b) -> ServerM c b # (>>) :: ServerM c a -> ServerM c b -> ServerM c b # return :: a -> ServerM c a #
MonadUnliftIO (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods withRunInIO :: ((forall a. ServerM c a -> IO a) -> IO b) -> ServerM c b #
MonadReader (ReactorChan, IdeState) (ServerM c) # |
Instance details Defined in Development.IDE.LSP.Server Methods ask :: ServerM c (ReactorChan, IdeState) # local :: ((ReactorChan, IdeState) -> (ReactorChan, IdeState)) -> ServerM c a -> ServerM c a # reader :: ((ReactorChan, IdeState) -> a) -> ServerM c a #

requestHandler :: forall m c. PluginMethod Request m => SMethod m -> (IdeState -> MessageParams m -> LspM c (Either ResponseError (MessageResult m))) -> Handlers (ServerM c) #

notificationHandler :: forall m c. PluginMethod Notification m => SMethod m -> (IdeState -> VFS -> MessageParams m -> LspM c ()) -> Handlers (ServerM c) #