ide-backend-common-0.9.1: Shared library used be ide-backend and ide-backend-server

Safe HaskellNone
LanguageHaskell2010

IdeSession.RPC.API

Contents

Synopsis

External exceptions

data ExternalException Source

Exceptions thrown by the remote server

Constructors

ExternalException 

Fields

externalStdErr :: String

The output from the server on stderr

externalException :: Maybe IOException

The local exception that was thrown and alerted us to the problem

serverKilledException :: Maybe IOException -> ExternalException Source

Generic exception thrown if the server gets killed for unknown reason

Client-server communication

data RpcConversation Source

Constructors

RpcConversation 

Fields

get :: forall a. (Typeable a, Binary a) => IO a
 
put :: forall a. (Typeable a, Binary a) => a -> IO ()
 

newtype Response Source

Constructors

Response IncBS 

Instances

Lazy bytestring with incremental Binary instance

newtype IncBS Source

Constructors

IncBS 

Fields

unIncBS :: ByteString
 

Instances

IO utils

hPutFlush :: Handle -> ByteString -> IO () Source

Write a bytestring to a buffer and flush

ignoreIOExceptions :: IO () -> IO () Source

Ignore IO exceptions

openPipeForWriting :: FilePath -> Int -> IO Handle Source

Open a pipe for writing

This is meant to be used together with openPipeForReading

openPipeForReading :: FilePath -> Int -> IO Handle Source

Open a pipe for reading

This is meant to be used together with openPipeForWriting