| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Haskell.Debug.Adapter.Control
Documentation
Command Line Argument Data Type.
Constructors
| ArgData | |
Fields
| |
Instances
| Eq ArgData Source # | |
| Data ArgData Source # | |
Defined in Haskell.Debug.Adapter.Type Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArgData -> c ArgData # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArgData # toConstr :: ArgData -> Constr # dataTypeOf :: ArgData -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArgData) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArgData) # gmapT :: (forall b. Data b => b -> b) -> ArgData -> ArgData # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArgData -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArgData -> r # gmapQ :: (forall d. Data d => d -> u) -> ArgData -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ArgData -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArgData -> m ArgData # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgData -> m ArgData # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgData -> m ArgData # | |
| Read ArgData Source # | |
| Show ArgData Source # | |
| ToJSON ArgData Source # | |
Defined in Haskell.Debug.Adapter.Type | |
| FromJSON ArgData Source # | |
| Default ArgData Source # | default value instance. |
Defined in Haskell.Debug.Adapter.Type | |
Arguments
| :: ArgData | command line arguments. |
| -> Handle | IN handle. used to get request from the debug adapter client. |
| -> Handle | OUT handle. used to response to the debug adapter client. |
| -> IO () |
Start HDA. Default implementation is using STDIN/STDOUT handle.
Here is an example for using TCP Socket.
import Network.Socket
sock <- socket AF_INET Stream defaultProtocol
let host = tupleToHostAddress (0, 0, 0, 0)
port = 9999
reqQ = 5
bind sock $ SockAddrInet port host
listen sock reqQ
(conn, _) <- accept sock
hdl <- socketToHandle conn ReadWriteMode
run def hdl hdl
Port 9999 could be specified in the launch.json with "debugServer" attribute.
"debugServer : 9999"