packages feed

haskell-debug-adapter 0.0.30.0 → 0.0.31.0

raw patch · 22 files changed

+492/−442 lines, 22 files

Files

Changelog.md view
@@ -1,4 +1,7 @@ +20190505 haskell-debug-adapter-0.0.31.0+  * [MODIFY] refactor some types.+  20190402 haskell-debug-adapter-0.0.30.0   * [INFO] support ghci-dap-0.0.12.0.
haskell-debug-adapter.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 936ac0a678039fb371ec5218b03ba08c8d2bb157ef6e48a790ee90ffa813d461+-- hash: bdbb77dee4fb24c9ebba6688c717b597fe7f4a5777a04bae83277c3c8361e821  name:           haskell-debug-adapter-version:        0.0.30.0+version:        0.0.31.0 synopsis:       Haskell Debug Adapter. description:    Please see README.md category:       Development
src/Haskell/Debug/Adapter/Application.hs view
@@ -25,7 +25,7 @@   -- |--- +-- defaultAppStores :: S.Handle -> S.Handle -> IO AppStores defaultAppStores inHdl outHdl = do   reqStore <- newMVar []@@ -163,8 +163,7 @@ appMain (WrapRequest (InternalTransitRequest (HdaInternalTransitRequest s))) = transit s appMain reqW = do   stateW <- view appStateWAppStores <$> get-  -  getStateRequestW stateW reqW >>= actionW >>= \case+  doActivityW stateW reqW >>= \case     Nothing -> return ()     Just st -> transit st @@ -174,7 +173,7 @@ transit st = actExitState           >> updateState st           >> actEntryState-           +   where     actExitState = do       stateW <- view appStateWAppStores <$> get
src/Haskell/Debug/Adapter/State/Contaminated.hs view
@@ -15,16 +15,16 @@ import qualified Haskell.Debug.Adapter.State.Utility as SU  --- | +-- | ---instance AppStateIF ContaminatedState where+instance AppStateIF ContaminatedStateData where   -- |   --   entryAction ContaminatedState = do     liftIO $ L.debugM _LOG_APP "ContaminatedState entryAction called."     return () -    +   -- |   --   exitAction ContaminatedState = do@@ -32,49 +32,66 @@     return ()  -  -- | +  -- |   ---  getStateRequest ContaminatedState (WrapRequest (InitializeRequest req))              = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (LaunchRequest req))                  = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (DisconnectRequest req))              = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (PauseRequest req))                   = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (TerminateRequest req))               = return . WrapStateRequest $ Contaminated_Terminate req-  -  getStateRequest ContaminatedState (WrapRequest (SetBreakpointsRequest req))          = return . WrapStateRequest $ Contaminated_SetBreakpoints req-  getStateRequest ContaminatedState (WrapRequest (SetFunctionBreakpointsRequest req))  = return . WrapStateRequest $ Contaminated_SetFunctionBreakpoints req-  getStateRequest ContaminatedState (WrapRequest (SetExceptionBreakpointsRequest req)) = return . WrapStateRequest $ Contaminated_SetExceptionBreakpoints req-  getStateRequest ContaminatedState (WrapRequest (ConfigurationDoneRequest req))       = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (ThreadsRequest req))                 = return . WrapStateRequest $ Contaminated_Threads req-  getStateRequest ContaminatedState (WrapRequest (StackTraceRequest req))              = return . WrapStateRequest $ Contaminated_StackTrace req-  getStateRequest ContaminatedState (WrapRequest (ScopesRequest req))                  = return . WrapStateRequest $ Contaminated_Scopes req-  getStateRequest ContaminatedState (WrapRequest (VariablesRequest req))               = return . WrapStateRequest $ Contaminated_Variables req-  getStateRequest ContaminatedState (WrapRequest (ContinueRequest req))                = return . WrapStateRequest $ Contaminated_Continue req-  getStateRequest ContaminatedState (WrapRequest (NextRequest req))                    = return . WrapStateRequest $ Contaminated_Next req-  getStateRequest ContaminatedState (WrapRequest (StepInRequest req))                  = return . WrapStateRequest $ Contaminated_StepIn req-  getStateRequest ContaminatedState (WrapRequest (EvaluateRequest req))                = return . WrapStateRequest $ Contaminated_Evaluate req-  getStateRequest ContaminatedState (WrapRequest (CompletionsRequest req))             = return . WrapStateRequest $ Contaminated_Completions req-  getStateRequest ContaminatedState (WrapRequest (InternalTransitRequest req))         = SU.unsupported $ show req-  getStateRequest ContaminatedState (WrapRequest (InternalTerminateRequest req))       = return . WrapStateRequest $ Contaminated_InternalTerminate req-  getStateRequest ContaminatedState (WrapRequest (InternalLoadRequest req))            = return . WrapStateRequest $ Contaminated_InternalLoad req+  doActivity s (WrapRequest r@InitializeRequest{})              = action2 s r+  doActivity s (WrapRequest r@LaunchRequest{})                  = action2 s r+  doActivity s (WrapRequest r@DisconnectRequest{})              = action2 s r+  doActivity s (WrapRequest r@PauseRequest{})                   = action2 s r+  doActivity s (WrapRequest r@TerminateRequest{})               = action2 s r+  doActivity s (WrapRequest r@SetBreakpointsRequest{})          = action2 s r+  doActivity s (WrapRequest r@SetFunctionBreakpointsRequest{})  = action2 s r+  doActivity s (WrapRequest r@SetExceptionBreakpointsRequest{}) = action2 s r+  doActivity s (WrapRequest r@ConfigurationDoneRequest{})       = action2 s r+  doActivity s (WrapRequest r@ThreadsRequest{})                 = action2 s r+  doActivity s (WrapRequest r@StackTraceRequest{})              = action2 s r+  doActivity s (WrapRequest r@ScopesRequest{})                  = action2 s r+  doActivity s (WrapRequest r@VariablesRequest{})               = action2 s r+  doActivity s (WrapRequest r@ContinueRequest{})                = action2 s r+  doActivity s (WrapRequest r@NextRequest{})                    = action2 s r+  doActivity s (WrapRequest r@StepInRequest{})                  = action2 s r+  doActivity s (WrapRequest r@EvaluateRequest{})                = action2 s r+  doActivity s (WrapRequest r@CompletionsRequest{})             = action2 s r+  doActivity s (WrapRequest r@InternalTransitRequest{})         = action2 s r+  doActivity s (WrapRequest r@InternalTerminateRequest{})       = action2 s r+  doActivity s (WrapRequest r@InternalLoadRequest{})            = action2 s r +-- |+--   default nop.+--+instance StateActivityIF ContaminatedStateData DAP.InitializeRequest  -- |+--   default nop.+--+instance StateActivityIF ContaminatedStateData DAP.LaunchRequest++-- |+--   default nop.+--+instance StateActivityIF ContaminatedStateData DAP.DisconnectRequest++-- |+--   default nop.+--+instance StateActivityIF ContaminatedStateData DAP.PauseRequest++-- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.TerminateRequest where-  action (Contaminated_Terminate req) = do+instance StateActivityIF ContaminatedStateData DAP.TerminateRequest where+  action2 _ (TerminateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState TerminateRequest called. " ++ show req      SU.terminateRequest req      return $ Just Contaminated_Shutdown - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.SetBreakpointsRequest where-  action (Contaminated_SetBreakpoints req) = do+instance StateActivityIF ContaminatedStateData DAP.SetBreakpointsRequest where+  action2 _ (SetBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState SetBreakpointsRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultSetBreakpointsResponse {@@ -87,12 +104,11 @@     U.addResponse $ SetBreakpointsResponse res     return Nothing - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.SetFunctionBreakpointsRequest where-  action (Contaminated_SetFunctionBreakpoints req) = do+instance StateActivityIF ContaminatedStateData DAP.SetFunctionBreakpointsRequest where+  action2 _ (SetFunctionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState SetFunctionBreakpointsRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultSetFunctionBreakpointsResponse {@@ -105,12 +121,11 @@     U.addResponse $ SetFunctionBreakpointsResponse res     return Nothing - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.SetExceptionBreakpointsRequest where-  action (Contaminated_SetExceptionBreakpoints req) = do+instance StateActivityIF ContaminatedStateData DAP.SetExceptionBreakpointsRequest where+  action2 _ (SetExceptionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState SetExceptionBreakpointsRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultSetExceptionBreakpointsResponse {@@ -123,12 +138,16 @@     U.addResponse $ SetExceptionBreakpointsResponse res     return Nothing +-- |+--   default nop.+--+instance StateActivityIF ContaminatedStateData DAP.ConfigurationDoneRequest  -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.ThreadsRequest where-  action (Contaminated_Threads req) = do+instance StateActivityIF ContaminatedStateData DAP.ThreadsRequest where+  action2 _ (ThreadsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState ThreadsRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultThreadsResponse {@@ -141,12 +160,11 @@     U.addResponse $ ThreadsResponse res     return Nothing - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.StackTraceRequest where-  action (Contaminated_StackTrace req) = do+instance StateActivityIF ContaminatedStateData DAP.StackTraceRequest where+  action2 _ (StackTraceRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState StackTraceRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultStackTraceResponse {@@ -159,13 +177,11 @@     U.addResponse $ StackTraceResponse res     return Nothing -- -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.ScopesRequest where-  action (Contaminated_Scopes req) = do+instance StateActivityIF ContaminatedStateData DAP.ScopesRequest where+  action2 _ (ScopesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState ScopesRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultScopesResponse {@@ -178,13 +194,11 @@     U.addResponse $ ScopesResponse res     return Nothing -- -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.VariablesRequest where-  action (Contaminated_Variables req) = do+instance StateActivityIF ContaminatedStateData DAP.VariablesRequest where+  action2 _ (VariablesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState VariablesRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultVariablesResponse {@@ -197,67 +211,68 @@     U.addResponse $ VariablesResponse res     return Nothing - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.ContinueRequest where-  action (Contaminated_Continue req) = do+instance StateActivityIF ContaminatedStateData DAP.ContinueRequest where+  action2 _ (ContinueRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState ContinueRequest called. " ++ show req     restartEvent     return $ Just Contaminated_Shutdown - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.NextRequest where-  action (Contaminated_Next req) = do+instance StateActivityIF ContaminatedStateData DAP.NextRequest where+  action2 _ (NextRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState NextRequest called. " ++ show req     restartEvent     return $ Just Contaminated_Shutdown - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.StepInRequest where-  action (Contaminated_StepIn req) = do+instance StateActivityIF ContaminatedStateData DAP.StepInRequest where+  action2 _ (StepInRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState StepInRequest called. " ++ show req     restartEvent     return $ Just Contaminated_Shutdown - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.EvaluateRequest where-  action (Contaminated_Evaluate req) = do+instance StateActivityIF ContaminatedStateData DAP.EvaluateRequest where+  action2 _ (EvaluateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState EvaluateRequest called. " ++ show req     SU.evaluateRequest req - -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState DAP.CompletionsRequest where-  action (Contaminated_Completions req) = do+instance StateActivityIF ContaminatedStateData DAP.CompletionsRequest where+  action2 _ (CompletionsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState CompletionsRequest called. " ++ show req     SU.completionsRequest req  -- |---   Any errors should be critical. don't catch anything here.+--   default nop. ---instance StateRequestIF ContaminatedState HdaInternalTerminateRequest where-  action (Contaminated_InternalTerminate req) = do+instance StateActivityIF ContaminatedStateData HdaInternalTransitRequest++-- |+--  Any errors should be sent back as False result Response+--+instance StateActivityIF ContaminatedStateData HdaInternalTerminateRequest where+  action2 _ (InternalTerminateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState InternalTerminateRequest called. " ++ show req     SU.internalTerminateRequest     return $ Just Contaminated_Shutdown-    -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF ContaminatedState HdaInternalLoadRequest where-  action (Contaminated_InternalLoad req) = do+instance StateActivityIF ContaminatedStateData HdaInternalLoadRequest where+  action2 _ (InternalLoadRequest req) = do     liftIO $ L.debugM _LOG_APP $ "ContaminatedState InternalLoadRequest called. " ++ show req     SU.loadHsFile $ pathHdaInternalLoadRequest req     return Nothing
src/Haskell/Debug/Adapter/State/DebugRun.hs view
@@ -29,7 +29,7 @@ import qualified Haskell.Debug.Adapter.State.Utility as SU  -instance AppStateIF DebugRunState where+instance AppStateIF DebugRunStateData where   -- |   --   entryAction DebugRunState = do@@ -43,36 +43,52 @@     return ()  -  -- | +  -- |   ---  getStateRequest DebugRunState (WrapRequest (InitializeRequest req))              = SU.unsupported $ show req-  getStateRequest DebugRunState (WrapRequest (LaunchRequest req))                  = SU.unsupported $ show req-  getStateRequest DebugRunState (WrapRequest (DisconnectRequest req))              = SU.unsupported $ show req-  getStateRequest DebugRunState (WrapRequest (PauseRequest req))                   = SU.unsupported $ show req-  -  getStateRequest DebugRunState (WrapRequest (TerminateRequest req))               = return . WrapStateRequest $ DebugRun_Terminate req-  getStateRequest DebugRunState (WrapRequest (SetBreakpointsRequest req))          = return . WrapStateRequest $ DebugRun_SetBreakpoints req-  getStateRequest DebugRunState (WrapRequest (SetFunctionBreakpointsRequest req))  = return . WrapStateRequest $ DebugRun_SetFunctionBreakpoints req-  getStateRequest DebugRunState (WrapRequest (SetExceptionBreakpointsRequest req)) = return . WrapStateRequest $ DebugRun_SetExceptionBreakpoints req+  doActivity s (WrapRequest r@InitializeRequest{})              = action2 s r+  doActivity s (WrapRequest r@LaunchRequest{})                  = action2 s r+  doActivity s (WrapRequest r@DisconnectRequest{})              = action2 s r+  doActivity s (WrapRequest r@PauseRequest{})                   = action2 s r+  doActivity s (WrapRequest r@TerminateRequest{})               = action2 s r+  doActivity s (WrapRequest r@SetBreakpointsRequest{})          = action2 s r+  doActivity s (WrapRequest r@SetFunctionBreakpointsRequest{})  = action2 s r+  doActivity s (WrapRequest r@SetExceptionBreakpointsRequest{}) = action2 s r+  doActivity s (WrapRequest r@ConfigurationDoneRequest{})       = action2 s r+  doActivity s (WrapRequest r@ThreadsRequest{})                 = action2 s r+  doActivity s (WrapRequest r@StackTraceRequest{})              = action2 s r+  doActivity s (WrapRequest r@ScopesRequest{})                  = action2 s r+  doActivity s (WrapRequest r@VariablesRequest{})               = action2 s r+  doActivity s (WrapRequest r@ContinueRequest{})                = action2 s r+  doActivity s (WrapRequest r@NextRequest{})                    = action2 s r+  doActivity s (WrapRequest r@StepInRequest{})                  = action2 s r+  doActivity s (WrapRequest r@EvaluateRequest{})                = action2 s r+  doActivity s (WrapRequest r@CompletionsRequest{})             = action2 s r+  doActivity s (WrapRequest r@InternalTransitRequest{})         = action2 s r+  doActivity s (WrapRequest r@InternalTerminateRequest{})       = action2 s r+  doActivity s (WrapRequest r@InternalLoadRequest{})            = action2 s r -  getStateRequest DebugRunState (WrapRequest (ConfigurationDoneRequest req))       = SU.unsupported $ show req+-- |+--   default nop.+--+instance StateActivityIF DebugRunStateData DAP.InitializeRequest -  getStateRequest DebugRunState (WrapRequest (ThreadsRequest req))                 = return . WrapStateRequest $ DebugRun_Threads req-  getStateRequest DebugRunState (WrapRequest (StackTraceRequest req))              = return . WrapStateRequest $ DebugRun_StackTrace req-  getStateRequest DebugRunState (WrapRequest (ScopesRequest req))                  = return . WrapStateRequest $ DebugRun_Scopes req-  getStateRequest DebugRunState (WrapRequest (VariablesRequest req))               = return . WrapStateRequest $ DebugRun_Variables req-  getStateRequest DebugRunState (WrapRequest (ContinueRequest req))                = return . WrapStateRequest $ DebugRun_Continue req-  getStateRequest DebugRunState (WrapRequest (NextRequest req))                    = return . WrapStateRequest $ DebugRun_Next req-  getStateRequest DebugRunState (WrapRequest (StepInRequest req))                  = return . WrapStateRequest $ DebugRun_StepIn req-  getStateRequest DebugRunState (WrapRequest (EvaluateRequest req))                = return . WrapStateRequest $ DebugRun_Evaluate req-  getStateRequest DebugRunState (WrapRequest (CompletionsRequest req))             = return . WrapStateRequest $ DebugRun_Completions req+-- |+--   default nop.+--+instance StateActivityIF DebugRunStateData DAP.LaunchRequest -  getStateRequest DebugRunState (WrapRequest (InternalTransitRequest req))         = SU.unsupported $ show req-  getStateRequest DebugRunState (WrapRequest (InternalTerminateRequest req))       = return . WrapStateRequest $ DebugRun_InternalTerminate req-  getStateRequest DebugRunState (WrapRequest (InternalLoadRequest req))            = return . WrapStateRequest $ DebugRun_InternalLoad req+-- |+--   default nop.+--+instance StateActivityIF DebugRunStateData DAP.DisconnectRequest  -- |+--   default nop. --+instance StateActivityIF DebugRunStateData DAP.PauseRequest++-- |+-- goEntry :: AppContext () goEntry = view stopOnEntryAppStores <$> get >>= \case   True  -> stopOnEntry@@ -91,7 +107,7 @@    P.cmdAndOut cmd   res <- P.expectH P.stdoutCallBk-  +   withAdhocAddDapHeader $ filter (U.startswith _DAP_HEADER) res    where@@ -123,7 +139,7 @@        P.cmdAndOut cmd       res <- P.expectH P.stdoutCallBk-      +       withAdhocDelDapHeader $ filter (U.startswith _DAP_HEADER) res      -- |@@ -156,7 +172,7 @@         return $ U.strip $ func ++ " " ++ funcArgs      startDebugDAP args = do-        +       let dap = ":dap-continue "           cmd = dap ++ U.showDAP args           dbg = dap ++ show args@@ -164,10 +180,10 @@       P.cmdAndOut cmd       U.debugEV _LOG_APP dbg       P.expectH $ P.funcCallBk lineCallBk-      +       return () -    +     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s     lineCallBk False s@@ -196,46 +212,58 @@ -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.SetBreakpointsRequest where-  action (DebugRun_SetBreakpoints req) = do+instance StateActivityIF DebugRunStateData DAP.SetBreakpointsRequest where+  action2 _ (SetBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState SetBreakpointsRequest called. " ++ show req     SU.setBreakpointsRequest req  -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.SetExceptionBreakpointsRequest where-  action (DebugRun_SetExceptionBreakpoints req) = do+instance StateActivityIF DebugRunStateData DAP.SetExceptionBreakpointsRequest where+  action2 _ (SetExceptionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState SetExceptionBreakpointsRequest called. " ++ show req     SU.setExceptionBreakpointsRequest req  -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.SetFunctionBreakpointsRequest where-  action (DebugRun_SetFunctionBreakpoints req) = do+instance StateActivityIF DebugRunStateData DAP.SetFunctionBreakpointsRequest where+  action2 _ (SetFunctionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState SetFunctionBreakpointsRequest called. " ++ show req     SU.setFunctionBreakpointsRequest req  -- |+--   default nop. ---instance StateRequestIF DebugRunState DAP.EvaluateRequest where-  action (DebugRun_Evaluate req) = do+instance StateActivityIF DebugRunStateData DAP.ConfigurationDoneRequest++-- |+--  Any errors should be sent back as False result Response+--+instance StateActivityIF DebugRunStateData DAP.EvaluateRequest where+  action2 _ (EvaluateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState EvaluateRequest called. " ++ show req     SU.evaluateRequest req  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.CompletionsRequest where-  action (DebugRun_Completions req) = do+instance StateActivityIF DebugRunStateData DAP.CompletionsRequest where+  action2 _ (CompletionsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState CompletionsRequest called. " ++ show req     SU.completionsRequest req +-- |+--   default nop.+--+instance StateActivityIF DebugRunStateData HdaInternalTransitRequest  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState HdaInternalLoadRequest where-  action (DebugRun_InternalLoad req) = do+instance StateActivityIF DebugRunStateData HdaInternalLoadRequest where+  action2 _ (InternalLoadRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState InternalLoadRequest called. " ++ show req     SU.loadHsFile $ pathHdaInternalLoadRequest req     return $ Just DebugRun_Contaminated
src/Haskell/Debug/Adapter/State/DebugRun/Continue.hs view
@@ -16,9 +16,10 @@ import qualified Haskell.Debug.Adapter.GHCi as P  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.ContinueRequest where-  action (DebugRun_Continue req) = do+instance StateActivityIF DebugRunStateData DAP.ContinueRequest where+  action2 _ (ContinueRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState ContinueRequest called. " ++ show req     app req @@ -26,7 +27,7 @@ -- app :: DAP.ContinueRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsContinueRequest req       dap = ":dap-continue "       cmd = dap ++ U.showDAP args@@ -46,7 +47,7 @@   U.addResponse $ ContinueResponse res    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s
src/Haskell/Debug/Adapter/State/DebugRun/InternalTerminate.hs view
@@ -13,13 +13,12 @@ import qualified Haskell.Debug.Adapter.State.Utility as SU  -- |---   Any errors should be critical. don't catch anything here.+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState HdaInternalTerminateRequest where-  action (DebugRun_InternalTerminate req) = do+instance StateActivityIF DebugRunStateData HdaInternalTerminateRequest where+  action2 _ (InternalTerminateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState InternalTerminateRequest called. " ++ show req     app req-  -- | --
src/Haskell/Debug/Adapter/State/DebugRun/Next.hs view
@@ -16,9 +16,10 @@ import qualified Haskell.Debug.Adapter.GHCi as P  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.NextRequest where-  action (DebugRun_Next req) = do+instance StateActivityIF DebugRunStateData DAP.NextRequest where+  action2 _ (NextRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState NextRequest called. " ++ show req     app req @@ -26,7 +27,7 @@ -- app :: DAP.NextRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsNextRequest req       dap = ":dap-next "       cmd = dap ++ U.showDAP args@@ -46,7 +47,7 @@   U.addResponse $ NextResponse res    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s@@ -63,7 +64,7 @@       Left err -> errHdl err >> return ()       Right (Left err) -> errHdl err >> return ()       Right (Right body) -> U.handleStoppedEventBody body-        +      -- |     --
src/Haskell/Debug/Adapter/State/DebugRun/Scopes.hs view
@@ -15,11 +15,12 @@ import qualified Haskell.Debug.Adapter.Utility as U import qualified Haskell.Debug.Adapter.GHCi as P + -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.ScopesRequest where-  --action :: (StateRequest s r) -> AppContext ()-  action (DebugRun_Scopes req) = do+instance StateActivityIF DebugRunStateData DAP.ScopesRequest where+  action2 _ (ScopesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState ScopesRequest called. " ++ show req     app req @@ -27,7 +28,7 @@ -- app :: DAP.ScopesRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsScopesRequest req       dap = ":dap-scopes "       cmd = dap ++ U.showDAP args@@ -38,7 +39,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s
src/Haskell/Debug/Adapter/State/DebugRun/StackTrace.hs view
@@ -15,10 +15,12 @@ import qualified Haskell.Debug.Adapter.Utility as U import qualified Haskell.Debug.Adapter.GHCi as P + -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.StackTraceRequest where-  action (DebugRun_StackTrace req) = do+instance StateActivityIF DebugRunStateData DAP.StackTraceRequest where+  action2 _ (StackTraceRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState StackTraceRequest called. " ++ show req     app req @@ -26,7 +28,7 @@ -- app :: DAP.StackTraceRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsStackTraceRequest req       dap = ":dap-stacktrace "       cmd = dap ++ U.showDAP args@@ -37,7 +39,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s
src/Haskell/Debug/Adapter/State/DebugRun/StepIn.hs view
@@ -16,10 +16,10 @@ import qualified Haskell.Debug.Adapter.GHCi as P  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.StepInRequest where-  --action :: (StateRequest s r) -> AppContext ()-  action (DebugRun_StepIn req) = do+instance StateActivityIF DebugRunStateData DAP.StepInRequest where+  action2 _ (StepInRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState StepInRequest called. " ++ show req     app req @@ -27,7 +27,7 @@ -- app :: DAP.StepInRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsStepInRequest req       dap = ":dap-step-in "       cmd = dap ++ U.showDAP args@@ -47,7 +47,7 @@   U.addResponse $ StepInResponse res    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s
src/Haskell/Debug/Adapter/State/DebugRun/Terminate.hs view
@@ -14,13 +14,12 @@ import qualified Haskell.Debug.Adapter.State.Utility as SU  -- |---   Any errors should be critical. don't catch anything here.+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.TerminateRequest where-  action (DebugRun_Terminate req) = do+instance StateActivityIF DebugRunStateData DAP.TerminateRequest where+  action2 _ (TerminateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState TerminateRequest called. " ++ show req     app req-  -- | --
src/Haskell/Debug/Adapter/State/DebugRun/Threads.hs view
@@ -12,9 +12,10 @@ import qualified Haskell.Debug.Adapter.Utility as U  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.ThreadsRequest where-  action (DebugRun_Threads req) = do+instance StateActivityIF DebugRunStateData DAP.ThreadsRequest where+  action2 _ (ThreadsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState ThreadsRequest called. " ++ show req     app req @@ -30,5 +31,5 @@           }    U.addResponse $ ThreadsResponse res-  +   return Nothing
src/Haskell/Debug/Adapter/State/DebugRun/Variables.hs view
@@ -16,9 +16,10 @@ import qualified Haskell.Debug.Adapter.GHCi as P  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF DebugRunState DAP.VariablesRequest where-  action (DebugRun_Variables req) = do+instance StateActivityIF DebugRunStateData DAP.VariablesRequest where+  action2 _ (VariablesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "DebugRunState VariablesRequest called. " ++ show req     app req @@ -26,7 +27,7 @@ -- app :: DAP.VariablesRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   let args = DAP.argumentsVariablesRequest req       dap = ":dap-variables "       cmd = dap ++ U.showDAP args@@ -37,7 +38,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s
src/Haskell/Debug/Adapter/State/GHCiRun.hs view
@@ -13,7 +13,7 @@ import qualified Haskell.Debug.Adapter.State.Utility as SU import qualified Haskell.Debug.Adapter.Utility as U -instance AppStateIF GHCiRunState where+instance AppStateIF GHCiRunStateData where   -- |   --   entryAction GHCiRunState = do@@ -27,79 +27,90 @@     return ()  -  -- | +  -- |   ---  getStateRequest GHCiRunState (WrapRequest (InitializeRequest req))              = SU.unsupported $ show req-  getStateRequest GHCiRunState (WrapRequest (LaunchRequest req))                  = SU.unsupported $ show req-  getStateRequest GHCiRunState (WrapRequest (DisconnectRequest req))              = SU.unsupported $ show req-  getStateRequest GHCiRunState (WrapRequest (PauseRequest req))                   = SU.unsupported $ show req-  -  getStateRequest GHCiRunState (WrapRequest (TerminateRequest req))               = return . WrapStateRequest $ GHCiRun_Terminate req-  getStateRequest GHCiRunState (WrapRequest (SetBreakpointsRequest req))          = return . WrapStateRequest $ GHCiRun_SetBreakpoints req-  getStateRequest GHCiRunState (WrapRequest (SetFunctionBreakpointsRequest req))  = return . WrapStateRequest $ GHCiRun_SetFunctionBreakpoints req-  getStateRequest GHCiRunState (WrapRequest (SetExceptionBreakpointsRequest req)) = return . WrapStateRequest $ GHCiRun_SetExceptionBreakpoints req-  getStateRequest GHCiRunState (WrapRequest (ConfigurationDoneRequest req))       = return . WrapStateRequest $ GHCiRun_ConfigurationDone req-  -  getStateRequest GHCiRunState (WrapRequest (ThreadsRequest req))                 = return . WrapStateRequest $ GHCiRun_Threads req-  getStateRequest GHCiRunState (WrapRequest (StackTraceRequest req))              = return . WrapStateRequest $ GHCiRun_StackTrace req-  getStateRequest GHCiRunState (WrapRequest (ScopesRequest req))                  = return . WrapStateRequest $ GHCiRun_Scopes req-  getStateRequest GHCiRunState (WrapRequest (VariablesRequest req))               = return . WrapStateRequest $ GHCiRun_Variables req+  doActivity s (WrapRequest r@InitializeRequest{})              = action2 s r+  doActivity s (WrapRequest r@LaunchRequest{})                  = action2 s r+  doActivity s (WrapRequest r@DisconnectRequest{})              = action2 s r+  doActivity s (WrapRequest r@PauseRequest{})                   = action2 s r+  doActivity s (WrapRequest r@TerminateRequest{})               = action2 s r+  doActivity s (WrapRequest r@SetBreakpointsRequest{})          = action2 s r+  doActivity s (WrapRequest r@SetFunctionBreakpointsRequest{})  = action2 s r+  doActivity s (WrapRequest r@SetExceptionBreakpointsRequest{}) = action2 s r+  doActivity s (WrapRequest r@ConfigurationDoneRequest{})       = action2 s r+  doActivity s (WrapRequest r@ThreadsRequest{})                 = action2 s r+  doActivity s (WrapRequest r@StackTraceRequest{})              = action2 s r+  doActivity s (WrapRequest r@ScopesRequest{})                  = action2 s r+  doActivity s (WrapRequest r@VariablesRequest{})               = action2 s r+  doActivity s (WrapRequest r@ContinueRequest{})                = action2 s r+  doActivity s (WrapRequest r@NextRequest{})                    = action2 s r+  doActivity s (WrapRequest r@StepInRequest{})                  = action2 s r+  doActivity s (WrapRequest r@EvaluateRequest{})                = action2 s r+  doActivity s (WrapRequest r@CompletionsRequest{})             = action2 s r+  doActivity s (WrapRequest r@InternalTransitRequest{})         = action2 s r+  doActivity s (WrapRequest r@InternalTerminateRequest{})       = action2 s r+  doActivity s (WrapRequest r@InternalLoadRequest{})            = action2 s r -  getStateRequest GHCiRunState (WrapRequest (ContinueRequest req))                = return . WrapStateRequest $ GHCiRun_Continue req-  getStateRequest GHCiRunState (WrapRequest (NextRequest req))                    = return . WrapStateRequest $ GHCiRun_Next req-  getStateRequest GHCiRunState (WrapRequest (StepInRequest req))                  = return . WrapStateRequest $ GHCiRun_StepIn req+-- |+--   default nop.+--+instance StateActivityIF GHCiRunStateData DAP.InitializeRequest -  getStateRequest GHCiRunState (WrapRequest (EvaluateRequest req))                = return . WrapStateRequest $ GHCiRun_Evaluate req-  getStateRequest GHCiRunState (WrapRequest (CompletionsRequest req))             = return . WrapStateRequest $ GHCiRun_Completions req+-- |+--   default nop.+--+instance StateActivityIF GHCiRunStateData DAP.LaunchRequest -  getStateRequest GHCiRunState (WrapRequest (InternalTransitRequest req))         = SU.unsupported $ show req+-- |+--   default nop.+--+instance StateActivityIF GHCiRunStateData DAP.DisconnectRequest -  getStateRequest GHCiRunState (WrapRequest (InternalTerminateRequest req))       = return . WrapStateRequest $ GHCiRun_InternalTerminate req-  getStateRequest GHCiRunState (WrapRequest (InternalLoadRequest req))            = return . WrapStateRequest $ GHCiRun_InternalLoad req+-- |+--   default nop.+--+instance StateActivityIF GHCiRunStateData DAP.PauseRequest +-- |+--  Any errors should be sent back as False result Response+--+instance StateActivityIF GHCiRunStateData DAP.TerminateRequest where+  action2 _ (TerminateRequest req) = do+    liftIO $ L.debugM _LOG_APP $ "GHCiRunState TerminateRequest called. " ++ show req +    SU.terminateRequest req++    return $ Just GHCiRun_Shutdown+ -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.SetBreakpointsRequest where-  action (GHCiRun_SetBreakpoints req) = do+instance StateActivityIF GHCiRunStateData DAP.SetBreakpointsRequest where+  action2 _ (SetBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState SetBreakpointsRequest called. " ++ show req     SU.setBreakpointsRequest req  -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.SetExceptionBreakpointsRequest where-  action (GHCiRun_SetExceptionBreakpoints req) = do+instance StateActivityIF GHCiRunStateData DAP.SetExceptionBreakpointsRequest where+  action2 _ (SetExceptionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState SetExceptionBreakpointsRequest called. " ++ show req     SU.setExceptionBreakpointsRequest req  -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.SetFunctionBreakpointsRequest where-  action (GHCiRun_SetFunctionBreakpoints req) = do+instance StateActivityIF GHCiRunStateData DAP.SetFunctionBreakpointsRequest where+  action2 _ (SetFunctionBreakpointsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState SetFunctionBreakpointsRequest called. " ++ show req     SU.setFunctionBreakpointsRequest req - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.TerminateRequest where-  action (GHCiRun_Terminate req) = do-    liftIO $ L.debugM _LOG_APP $ "GHCiRunState TerminateRequest called. " ++ show req--    SU.terminateRequest req--    return $ Just GHCiRun_Shutdown----- |---  Any errors should be sent back as False result Response----instance StateRequestIF GHCiRunState DAP.ThreadsRequest where-  action (GHCiRun_Threads req) = do+instance StateActivityIF GHCiRunStateData DAP.ThreadsRequest where+  action2 _ (ThreadsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState ThreadsRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultThreadsResponse {@@ -112,13 +123,11 @@     U.addResponse $ ThreadsResponse res     return Nothing -- -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.StackTraceRequest where-  action (GHCiRun_StackTrace req) = do+instance StateActivityIF GHCiRunStateData DAP.StackTraceRequest where+  action2 _ (StackTraceRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState StackTraceRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultStackTraceResponse {@@ -131,13 +140,11 @@     U.addResponse $ StackTraceResponse res     return Nothing -- -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.ScopesRequest where-  action (GHCiRun_Scopes req) = do+instance StateActivityIF GHCiRunStateData DAP.ScopesRequest where+  action2 _ (ScopesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState ScopesRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultScopesResponse {@@ -150,13 +157,11 @@     U.addResponse $ ScopesResponse res     return Nothing -- -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.VariablesRequest where-  action (GHCiRun_Variables req) = do+instance StateActivityIF GHCiRunStateData DAP.VariablesRequest where+  action2 _ (VariablesRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState VariablesRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultVariablesResponse {@@ -170,12 +175,11 @@     return Nothing  - -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.ContinueRequest where-  action (GHCiRun_Continue req) = do+instance StateActivityIF GHCiRunStateData DAP.ContinueRequest where+  action2 _ (ContinueRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState ContinueRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultContinueResponse {@@ -192,8 +196,8 @@ -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.NextRequest where-  action (GHCiRun_Next req) = do+instance StateActivityIF GHCiRunStateData DAP.NextRequest where+  action2 _ (NextRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState NextRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultNextResponse {@@ -210,8 +214,8 @@ -- | --  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.StepInRequest where-  action (GHCiRun_StepIn req) = do+instance StateActivityIF GHCiRunStateData DAP.StepInRequest where+  action2 _ (StepInRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState StepInRequest called. " ++ show req     resSeq <- U.getIncreasedResponseSequence     let res = DAP.defaultStepInResponse {@@ -225,37 +229,43 @@     return $ Just GHCiRun_DebugRun  - -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.EvaluateRequest where-  action (GHCiRun_Evaluate req) = do+instance StateActivityIF GHCiRunStateData DAP.EvaluateRequest where+  action2 _ (EvaluateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState EvaluateRequest called. " ++ show req     SU.evaluateRequest req  -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.CompletionsRequest where-  action (GHCiRun_Completions req) = do+instance StateActivityIF GHCiRunStateData DAP.CompletionsRequest where+  action2 _ (CompletionsRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState CompletionsRequest called. " ++ show req     SU.completionsRequest req +-- |+--   default nop.+--+instance StateActivityIF GHCiRunStateData HdaInternalTransitRequest  -- |---   Any errors should be critical. don't catch anything here.+--  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState HdaInternalTerminateRequest where-  action (GHCiRun_InternalTerminate req) = do+instance StateActivityIF GHCiRunStateData HdaInternalTerminateRequest where+  action2 _ (InternalTerminateRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState InternalTerminateRequest called. " ++ show req     SU.internalTerminateRequest     return $ Just GHCiRun_Shutdown-    -- |+--  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState HdaInternalLoadRequest where-  action (GHCiRun_InternalLoad req) = do-    liftIO $ L.debugM _LOG_APP $ "GHCiRunState InternalLoadRequest called. " ++ show req-    SU.loadHsFile $ pathHdaInternalLoadRequest req-    return $ Just GHCiRun_Contaminated+instance StateActivityIF GHCiRunStateData HdaInternalLoadRequest where+  action2 _ (InternalLoadRequest req) = do+    liftIO $ L.debugM _LOG_APP $ "GHCiRunState InternalTerminateRequest called. " ++ show req+    SU.internalTerminateRequest+    return $ Just GHCiRun_Shutdown+ 
src/Haskell/Debug/Adapter/State/GHCiRun/ConfigurationDone.hs view
@@ -15,10 +15,10 @@ import qualified Haskell.Debug.Adapter.Utility as U  -- |---   Any errors should be critical. don't catch anything here.+--  Any errors should be sent back as False result Response ---instance StateRequestIF GHCiRunState DAP.ConfigurationDoneRequest where-  action (GHCiRun_ConfigurationDone req) = do+instance StateActivityIF GHCiRunStateData DAP.ConfigurationDoneRequest where+  action2 _ (ConfigurationDoneRequest req) = do     liftIO $ L.debugM _LOG_APP $ "GHCiRunState ConfigurationDoneRequest called. " ++ show req     app req @@ -40,7 +40,7 @@           }    U.addResponse $ ConfigurationDoneResponse res-  +   -- launch response must be sent after configuration done response.   reqSeq <- view launchReqSeqAppStores <$> get   resSeq <- U.getIncreasedResponseSequence
src/Haskell/Debug/Adapter/State/Init.hs view
@@ -6,17 +6,17 @@ import Control.Monad.IO.Class import Control.Monad.Except import qualified System.Log.Logger as L+import qualified Haskell.DAP as DAP  import Haskell.Debug.Adapter.Type import Haskell.Debug.Adapter.Constant import Haskell.Debug.Adapter.State.Init.Initialize() import Haskell.Debug.Adapter.State.Init.Launch()-import qualified Haskell.Debug.Adapter.State.Utility as SU  --- | +-- | ---instance AppStateIF InitState where+instance AppStateIF InitStateData where   -- |   --   entryAction InitState = do@@ -29,28 +29,123 @@     liftIO $ L.debugM _LOG_APP "InitState exitAction called."     return () -  -- | +  -- |   ---  getStateRequest InitState (WrapRequest (InitializeRequest req))              = return . WrapStateRequest $ Init_Initialize req-  getStateRequest InitState (WrapRequest (LaunchRequest req))                  = return . WrapStateRequest $ Init_Launch req-  getStateRequest InitState (WrapRequest (DisconnectRequest req))              = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (PauseRequest req))                   = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (TerminateRequest req))               = SU.unsupported $ show req-  -  getStateRequest InitState (WrapRequest (SetBreakpointsRequest req))          = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (SetFunctionBreakpointsRequest req))  = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (SetExceptionBreakpointsRequest req)) = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (ConfigurationDoneRequest req))       = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (ThreadsRequest req))                 = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (StackTraceRequest req))              = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (ScopesRequest req))                  = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (VariablesRequest req))               = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (ContinueRequest req))                = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (NextRequest req))                    = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (StepInRequest req))                  = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (EvaluateRequest req))                = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (CompletionsRequest req))             = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (InternalTransitRequest req))         = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (InternalTerminateRequest req))       = SU.unsupported $ show req-  getStateRequest InitState (WrapRequest (InternalLoadRequest req))            = SU.unsupported $ show req+  doActivity s (WrapRequest r@InitializeRequest{})              = action2 s r+  doActivity s (WrapRequest r@LaunchRequest{})                  = action2 s r+  doActivity s (WrapRequest r@DisconnectRequest{})              = action2 s r+  doActivity s (WrapRequest r@PauseRequest{})                   = action2 s r+  doActivity s (WrapRequest r@TerminateRequest{})               = action2 s r+  doActivity s (WrapRequest r@SetBreakpointsRequest{})          = action2 s r+  doActivity s (WrapRequest r@SetFunctionBreakpointsRequest{})  = action2 s r+  doActivity s (WrapRequest r@SetExceptionBreakpointsRequest{}) = action2 s r+  doActivity s (WrapRequest r@ConfigurationDoneRequest{})       = action2 s r+  doActivity s (WrapRequest r@ThreadsRequest{})                 = action2 s r+  doActivity s (WrapRequest r@StackTraceRequest{})              = action2 s r+  doActivity s (WrapRequest r@ScopesRequest{})                  = action2 s r+  doActivity s (WrapRequest r@VariablesRequest{})               = action2 s r+  doActivity s (WrapRequest r@ContinueRequest{})                = action2 s r+  doActivity s (WrapRequest r@NextRequest{})                    = action2 s r+  doActivity s (WrapRequest r@StepInRequest{})                  = action2 s r+  doActivity s (WrapRequest r@EvaluateRequest{})                = action2 s r+  doActivity s (WrapRequest r@CompletionsRequest{})             = action2 s r+  doActivity s (WrapRequest r@InternalTransitRequest{})         = action2 s r+  doActivity s (WrapRequest r@InternalTerminateRequest{})       = action2 s r+  doActivity s (WrapRequest r@InternalLoadRequest{})            = action2 s r++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.DisconnectRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.PauseRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.TerminateRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.SetBreakpointsRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.SetFunctionBreakpointsRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.SetExceptionBreakpointsRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.ConfigurationDoneRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.ThreadsRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.StackTraceRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.ScopesRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.VariablesRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.ContinueRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.NextRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.StepInRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.EvaluateRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData DAP.CompletionsRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData HdaInternalTransitRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData HdaInternalTerminateRequest++-- |+--   default nop.+--+instance StateActivityIF InitStateData HdaInternalLoadRequest+ 
src/Haskell/Debug/Adapter/State/Init/Initialize.hs view
@@ -12,11 +12,13 @@ import qualified Haskell.Debug.Adapter.Utility as U import Haskell.Debug.Adapter.Utility ++ -- | --   Any errors should be critical. don't catch anything here. ---instance StateRequestIF InitState DAP.InitializeRequest where-  action (Init_Initialize req) = do+instance StateActivityIF InitStateData DAP.InitializeRequest where+  action2 _ (InitializeRequest req) = do     liftIO $ L.debugM _LOG_APP $ "InitState InitializeRequest called. " ++ show req     app req 
src/Haskell/Debug/Adapter/State/Init/Launch.hs view
@@ -26,22 +26,22 @@ import qualified Haskell.Debug.Adapter.Logger as L import qualified Haskell.Debug.Adapter.GHCi as P + -- | --   Any errors should be critical. don't catch anything here. ---instance StateRequestIF InitState DAP.LaunchRequest where-  action (Init_Launch req) = do+instance StateActivityIF InitStateData DAP.LaunchRequest where+  action2 _ (LaunchRequest req) = do     liftIO $ L.debugM _LOG_APP $ "InitState LaunchRequest called. " ++ show req     app req - -- | --   @see https://github.com/Microsoft/vscode/issues/4902 --   @see https://microsoft.github.io/debug-adapter-protocol/overview--- +-- app :: DAP.LaunchRequest -> AppContext (Maybe StateTransit) app req = flip catchError errHdl $ do-  +   setUpConfig req   setUpLogger req   createTasksJsonFile@@ -66,7 +66,7 @@   -- ConfigurationDone request.   initSeq <- U.getIncreasedResponseSequence   U.addResponse $ InitializedEvent $ DAP.defaultInitializedEvent {DAP.seqInitializedEvent = initSeq}-  +   return $ Just Init_GHCiRun    where@@ -93,7 +93,7 @@ setUpConfig req = do   let args = DAP.argumentsLaunchRequest req   appStores <- get-  +   let wsMVar = appStores^.workspaceAppStores       ws = DAP.workspaceLaunchRequestArguments args   _ <- liftIO $ takeMVar wsMVar@@ -154,13 +154,13 @@     --     checkDir jsonDir = liftIO (doesDirectoryExist jsonDir) >>= \case       False -> throwError $ "setting folder not found. skip saveing tasks.json. DIR:" ++ jsonDir-      True -> return () +      True -> return ()      -- |     --     checkFile jsonFile = liftIO (doesFileExist jsonFile) >>= \case       True -> throwError $ "tasks.json file exists. " ++ jsonFile-      False -> return () +      False -> return ()      -- |     --@@ -179,7 +179,7 @@       cmdStr = DAP.ghciCmdLaunchRequestArguments args       cmdList = filter (not.null) $ U.split " " cmdStr       cmd  = head cmdList-  +   U.debugEV _LOG_APP $ show cmdList    opts <- addWithGHC (tail cmdList)
src/Haskell/Debug/Adapter/State/Shutdown.hs view
@@ -12,9 +12,9 @@ import Haskell.Debug.Adapter.Constant  --- | +-- | ---instance AppStateIF ShutdownState where+instance AppStateIF ShutdownStateData where   -- |   --   entryAction ShutdownState = do@@ -24,7 +24,7 @@      return () -    +   -- |   --   exitAction ShutdownState = do@@ -32,10 +32,10 @@     throwError msg  -  -- | +  -- |   ---  getStateRequest ShutdownState _ = do+  doActivity ShutdownState _ = do     let msg = "ShutdownState does not support any request."-    throwError msg-+    infoEV _LOG_APP msg+    return Nothing 
src/Haskell/Debug/Adapter/State/Utility.hs view
@@ -17,14 +17,6 @@ import qualified Haskell.Debug.Adapter.GHCi as P  --- | ----unsupported :: String -> AppContext WrapStateRequest-unsupported reqStr = do-  let msg = "InitState does not support this request. " ++ reqStr-  throwError msg-- -- | -- setBreakpointsRequest :: DAP.SetBreakpointsRequest -> AppContext (Maybe StateTransit)@@ -39,7 +31,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s@@ -102,13 +94,13 @@   U.addResponse $ SetExceptionBreakpointsResponse res    return Nothing-  +   where     getOptions filters       | null filters                      = ["-fno-break-on-exception", "-fno-break-on-error"]       | filters == ["break-on-error"]     = ["-fno-break-on-exception", "-fbreak-on-error"]       | filters == ["break-on-exception"] = ["-fbreak-on-exception",    "-fno-break-on-error"]-      | otherwise                         = ["-fbreak-on-exception",    "-fbreak-on-error" ] +      | otherwise                         = ["-fbreak-on-exception",    "-fbreak-on-error" ]      go opt = do       let cmd = ":set " ++ opt@@ -132,7 +124,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s@@ -203,7 +195,7 @@   P.expectH $ P.funcCallBk lineCallBk    return Nothing-  +   where     lineCallBk :: Bool -> String -> AppContext ()     lineCallBk True  s = U.sendStdoutEvent s@@ -276,7 +268,7 @@   U.addResponse $ CompletionsResponse res    return Nothing-  +   where     -- |     --
src/Haskell/Debug/Adapter/Type.hs view
@@ -2,10 +2,10 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE StandaloneDeriving #-}  module Haskell.Debug.Adapter.Type where - import Data.Default import Control.Lens import Data.Aeson@@ -17,12 +17,12 @@ import qualified System.IO as S import qualified Data.Text as T import qualified System.Log.Logger as L---import qualified Data.ByteString as B import qualified System.Process as S import qualified Data.Version as V  import qualified Haskell.DAP as DAP import Haskell.Debug.Adapter.TH.Utility+import Haskell.Debug.Adapter.Constant  -------------------------------------------------------------------------------- instance FromJSON  L.Priority  where@@ -38,10 +38,10 @@   toJSON (L.CRITICAL)  = String $ T.pack "CRITICAL"   toJSON (L.ALERT)     = String $ T.pack "ALERT"   toJSON (L.EMERGENCY) = String $ T.pack "EMERGENCY"-  + -------------------------------------------------------------------------------- -- | Config Data--- +-- data ConfigData = ConfigData {     _workDirConfigData  :: FilePath   , _logFileConfigData  :: FilePath@@ -53,7 +53,7 @@ instance Default ConfigData where   def = ConfigData {         _workDirConfigData  = "."-      , _logFileConfigData  = "haskell-debug-adapter.log" +      , _logFileConfigData  = "haskell-debug-adapter.log"       , _logLevelConfigData = L.WARNING       } @@ -84,7 +84,7 @@   } deriving (Show, Read, Eq)  $(deriveJSON defaultOptions { fieldLabelModifier = fieldModifier "HdaInternalTransitRequest" } ''HdaInternalTransitRequest)-  + data HdaInternalTerminateRequest = HdaInternalTerminateRequest {     msgHdaInternalTerminateRequest :: String   } deriving (Show, Read, Eq)@@ -99,7 +99,7 @@  -------------------------------------------------------------------------------- -- | DAP Request Data--- +--   $(deriveJSON defaultOptions {fieldLabelModifier = rdrop "Source"} ''DAP.Source)@@ -171,7 +171,7 @@   -- request-data Request a where +data Request a where   InitializeRequest :: DAP.InitializeRequest -> Request DAP.InitializeRequest   LaunchRequest     :: DAP.LaunchRequest     -> Request DAP.LaunchRequest   DisconnectRequest :: DAP.DisconnectRequest -> Request DAP.DisconnectRequest@@ -194,11 +194,13 @@   InternalTerminateRequest :: HdaInternalTerminateRequest -> Request HdaInternalTerminateRequest   InternalLoadRequest :: HdaInternalLoadRequest -> Request HdaInternalLoadRequest +deriving instance Show r => Show (Request r)+ data WrapRequest = forall a. WrapRequest (Request a)  -------------------------------------------------------------------------------- -- | DAP Response Data--- +--  -- jsonize $(deriveJSON defaultOptions {fieldLabelModifier = rdrop "Response"} ''DAP.Response)@@ -269,7 +271,7 @@   -- response-data Response = +data Response =     InitializeResponse DAP.InitializeResponse   | LaunchResponse     DAP.LaunchResponse   | OutputEvent        DAP.OutputEvent@@ -300,160 +302,59 @@  -------------------------------------------------------------------------------- -- | State--- -data InitState-data GHCiRunState-data DebugRunState-data ContaminatedState-data ShutdownState+--+data InitStateData         = InitStateData deriving (Show, Eq)+data GHCiRunStateData      = GHCiRunStateData deriving (Show, Eq)+data DebugRunStateData     = DebugRunStateData deriving (Show, Eq)+data ContaminatedStateData = ContaminatedStateData deriving (Show, Eq)+data ShutdownStateData     = ShutdownStateData deriving (Show, Eq)  data AppState s where-  InitState     :: AppState InitState-  GHCiRunState  :: AppState GHCiRunState-  DebugRunState :: AppState DebugRunState-  ShutdownState :: AppState ShutdownState-  ContaminatedState :: AppState ContaminatedState+  InitState     :: AppState InitStateData+  GHCiRunState  :: AppState GHCiRunStateData+  DebugRunState :: AppState DebugRunStateData+  ShutdownState :: AppState ShutdownStateData+  ContaminatedState :: AppState ContaminatedStateData +deriving instance Show s => Show (AppState s)+ class AppStateIF s where   entryAction :: (AppState s) -> AppContext ()   exitAction  :: (AppState s) -> AppContext ()-  getStateRequest :: (AppState s) -> WrapRequest -> AppContext WrapStateRequest+  doActivity  :: (AppState s) -> WrapRequest -> AppContext (Maybe StateTransit) -data WrapAppState = forall s. (AppStateIF s) =>  WrapAppState (AppState s)+data WrapAppState = forall s. (AppStateIF s) => WrapAppState (AppState s)  class WrapAppStateIF s where   entryActionW :: s -> AppContext ()   exitActionW  :: s -> AppContext ()-  getStateRequestW :: s -> WrapRequest -> AppContext WrapStateRequest+  doActivityW  :: s -> WrapRequest -> AppContext (Maybe StateTransit)  instance WrapAppStateIF WrapAppState where   entryActionW (WrapAppState s) = entryAction s   exitActionW  (WrapAppState s) = exitAction s-  getStateRequestW (WrapAppState s) r = getStateRequest s r-  ------------------------------------------------------------------------------------------data StateRequest s r where-  Init_Initialize :: DAP.InitializeRequest -> StateRequest InitState DAP.InitializeRequest-  Init_Launch     :: DAP.LaunchRequest     -> StateRequest InitState DAP.LaunchRequest-  Init_Terminate :: DAP.TerminateRequest -> StateRequest InitState DAP.TerminateRequest-  Init_SetBreakpoints :: DAP.SetBreakpointsRequest -> StateRequest InitState DAP.SetBreakpointsRequest-  Init_SetFunctionBreakpoints :: DAP.SetFunctionBreakpointsRequest -> StateRequest InitState DAP.SetFunctionBreakpointsRequest-  Init_SetExceptionBreakpoints :: DAP.SetExceptionBreakpointsRequest -> StateRequest InitState DAP.SetExceptionBreakpointsRequest-  Init_ConfigurationDone :: DAP.ConfigurationDoneRequest -> StateRequest InitState DAP.ConfigurationDoneRequest-  Init_Threads :: DAP.ThreadsRequest -> StateRequest InitState DAP.ThreadsRequest-  Init_StackTrace :: DAP.StackTraceRequest -> StateRequest InitState DAP.StackTraceRequest-  Init_Scopes :: DAP.ScopesRequest -> StateRequest InitState DAP.ScopesRequest-  Init_Variables :: DAP.VariablesRequest -> StateRequest InitState DAP.VariablesRequest-  Init_Continue :: DAP.ContinueRequest -> StateRequest InitState DAP.ContinueRequest-  Init_Next :: DAP.NextRequest -> StateRequest InitState DAP.NextRequest-  Init_StepIn :: DAP.StepInRequest -> StateRequest InitState DAP.StepInRequest-  Init_Evaluate :: DAP.EvaluateRequest -> StateRequest InitState DAP.EvaluateRequest-  Init_Completions :: DAP.CompletionsRequest -> StateRequest InitState DAP.CompletionsRequest-  Init_InternalTerminate :: HdaInternalTerminateRequest -> StateRequest InitState HdaInternalTerminateRequest-  Init_InternalLoad :: HdaInternalLoadRequest -> StateRequest InitState HdaInternalLoadRequest--  GHCiRun_Initialize :: DAP.InitializeRequest -> StateRequest GHCiRunState DAP.InitializeRequest-  GHCiRun_Launch     :: DAP.LaunchRequest     -> StateRequest GHCiRunState DAP.LaunchRequest-  GHCiRun_Terminate :: DAP.TerminateRequest -> StateRequest GHCiRunState DAP.TerminateRequest-  GHCiRun_SetBreakpoints :: DAP.SetBreakpointsRequest -> StateRequest GHCiRunState DAP.SetBreakpointsRequest-  GHCiRun_SetFunctionBreakpoints :: DAP.SetFunctionBreakpointsRequest -> StateRequest GHCiRunState DAP.SetFunctionBreakpointsRequest-  GHCiRun_SetExceptionBreakpoints :: DAP.SetExceptionBreakpointsRequest -> StateRequest GHCiRunState DAP.SetExceptionBreakpointsRequest-  GHCiRun_ConfigurationDone :: DAP.ConfigurationDoneRequest -> StateRequest GHCiRunState DAP.ConfigurationDoneRequest-  GHCiRun_Threads :: DAP.ThreadsRequest -> StateRequest GHCiRunState DAP.ThreadsRequest-  GHCiRun_StackTrace :: DAP.StackTraceRequest -> StateRequest GHCiRunState DAP.StackTraceRequest-  GHCiRun_Scopes :: DAP.ScopesRequest -> StateRequest GHCiRunState DAP.ScopesRequest-  GHCiRun_Variables :: DAP.VariablesRequest -> StateRequest GHCiRunState DAP.VariablesRequest-  GHCiRun_Continue :: DAP.ContinueRequest -> StateRequest GHCiRunState DAP.ContinueRequest-  GHCiRun_Next :: DAP.NextRequest -> StateRequest GHCiRunState DAP.NextRequest-  GHCiRun_StepIn :: DAP.StepInRequest -> StateRequest GHCiRunState DAP.StepInRequest-  GHCiRun_Evaluate :: DAP.EvaluateRequest -> StateRequest GHCiRunState DAP.EvaluateRequest-  GHCiRun_Completions :: DAP.CompletionsRequest -> StateRequest GHCiRunState DAP.CompletionsRequest-  GHCiRun_InternalTerminate :: HdaInternalTerminateRequest -> StateRequest GHCiRunState HdaInternalTerminateRequest-  GHCiRun_InternalLoad :: HdaInternalLoadRequest -> StateRequest GHCiRunState HdaInternalLoadRequest--  DebugRun_Initialize :: DAP.InitializeRequest -> StateRequest DebugRunState DAP.InitializeRequest-  DebugRun_Launch     :: DAP.LaunchRequest     -> StateRequest DebugRunState DAP.LaunchRequest-  DebugRun_Terminate :: DAP.TerminateRequest -> StateRequest DebugRunState DAP.TerminateRequest-  DebugRun_SetBreakpoints :: DAP.SetBreakpointsRequest -> StateRequest DebugRunState DAP.SetBreakpointsRequest-  DebugRun_SetFunctionBreakpoints :: DAP.SetFunctionBreakpointsRequest -> StateRequest DebugRunState DAP.SetFunctionBreakpointsRequest-  DebugRun_SetExceptionBreakpoints :: DAP.SetExceptionBreakpointsRequest -> StateRequest DebugRunState DAP.SetExceptionBreakpointsRequest-  DebugRun_ConfigurationDone :: DAP.ConfigurationDoneRequest -> StateRequest DebugRunState DAP.ConfigurationDoneRequest-  DebugRun_Threads :: DAP.ThreadsRequest -> StateRequest DebugRunState DAP.ThreadsRequest-  DebugRun_StackTrace :: DAP.StackTraceRequest -> StateRequest DebugRunState DAP.StackTraceRequest-  DebugRun_Scopes :: DAP.ScopesRequest -> StateRequest DebugRunState DAP.ScopesRequest-  DebugRun_Variables :: DAP.VariablesRequest -> StateRequest DebugRunState DAP.VariablesRequest-  DebugRun_Continue :: DAP.ContinueRequest -> StateRequest DebugRunState DAP.ContinueRequest-  DebugRun_Next :: DAP.NextRequest -> StateRequest DebugRunState DAP.NextRequest-  DebugRun_StepIn :: DAP.StepInRequest -> StateRequest DebugRunState DAP.StepInRequest-  DebugRun_Evaluate :: DAP.EvaluateRequest -> StateRequest DebugRunState DAP.EvaluateRequest-  DebugRun_Completions :: DAP.CompletionsRequest -> StateRequest DebugRunState DAP.CompletionsRequest-  DebugRun_InternalTerminate :: HdaInternalTerminateRequest -> StateRequest DebugRunState HdaInternalTerminateRequest-  DebugRun_InternalLoad :: HdaInternalLoadRequest -> StateRequest DebugRunState HdaInternalLoadRequest--  Shutdown_Initialize :: DAP.InitializeRequest -> StateRequest ShutdownState DAP.InitializeRequest-  Shutdown_Launch     :: DAP.LaunchRequest     -> StateRequest ShutdownState DAP.LaunchRequest-  Shutdown_Terminate :: DAP.TerminateRequest -> StateRequest ShutdownState DAP.TerminateRequest-  Shutdown_SetBreakpoints :: DAP.SetBreakpointsRequest -> StateRequest ShutdownState DAP.SetBreakpointsRequest-  Shutdown_SetFunctionBreakpoints :: DAP.SetFunctionBreakpointsRequest -> StateRequest ShutdownState DAP.SetFunctionBreakpointsRequest-  Shutdown_SetExceptionBreakpoints :: DAP.SetExceptionBreakpointsRequest -> StateRequest ShutdownState DAP.SetExceptionBreakpointsRequest-  Shutdown_ConfigurationDone :: DAP.ConfigurationDoneRequest -> StateRequest ShutdownState DAP.ConfigurationDoneRequest-  Shutdown_Threads :: DAP.ThreadsRequest -> StateRequest ShutdownState DAP.ThreadsRequest-  Shutdown_StackTrace :: DAP.StackTraceRequest -> StateRequest ShutdownState DAP.StackTraceRequest-  Shutdown_Scopes :: DAP.ScopesRequest -> StateRequest ShutdownState DAP.ScopesRequest-  Shutdown_Variables :: DAP.VariablesRequest -> StateRequest ShutdownState DAP.VariablesRequest-  Shutdown_Continue :: DAP.ContinueRequest -> StateRequest ShutdownState DAP.ContinueRequest-  Shutdown_Next :: DAP.NextRequest -> StateRequest ShutdownState DAP.NextRequest-  Shutdown_StepIn :: DAP.StepInRequest -> StateRequest ShutdownState DAP.StepInRequest-  Shutdown_Evaluate :: DAP.EvaluateRequest -> StateRequest ShutdownState DAP.EvaluateRequest-  Shutdown_Completions :: DAP.CompletionsRequest -> StateRequest ShutdownState DAP.CompletionsRequest-  Shutdown_InternalTerminate :: HdaInternalTerminateRequest -> StateRequest ShutdownState HdaInternalTerminateRequest-  Shutdown_InternalLoad :: HdaInternalLoadRequest -> StateRequest ShutdownState HdaInternalLoadRequest--  Contaminated_Initialize :: DAP.InitializeRequest -> StateRequest ContaminatedState DAP.InitializeRequest-  Contaminated_Launch     :: DAP.LaunchRequest     -> StateRequest ContaminatedState DAP.LaunchRequest-  Contaminated_Terminate :: DAP.TerminateRequest -> StateRequest ContaminatedState DAP.TerminateRequest-  Contaminated_SetBreakpoints :: DAP.SetBreakpointsRequest -> StateRequest ContaminatedState DAP.SetBreakpointsRequest-  Contaminated_SetFunctionBreakpoints :: DAP.SetFunctionBreakpointsRequest -> StateRequest ContaminatedState DAP.SetFunctionBreakpointsRequest-  Contaminated_SetExceptionBreakpoints :: DAP.SetExceptionBreakpointsRequest -> StateRequest ContaminatedState DAP.SetExceptionBreakpointsRequest-  Contaminated_ConfigurationDone :: DAP.ConfigurationDoneRequest -> StateRequest ContaminatedState DAP.ConfigurationDoneRequest-  Contaminated_Threads :: DAP.ThreadsRequest -> StateRequest ContaminatedState DAP.ThreadsRequest-  Contaminated_StackTrace :: DAP.StackTraceRequest -> StateRequest ContaminatedState DAP.StackTraceRequest-  Contaminated_Scopes :: DAP.ScopesRequest -> StateRequest ContaminatedState DAP.ScopesRequest-  Contaminated_Variables :: DAP.VariablesRequest -> StateRequest ContaminatedState DAP.VariablesRequest-  Contaminated_Continue :: DAP.ContinueRequest -> StateRequest ContaminatedState DAP.ContinueRequest-  Contaminated_Next :: DAP.NextRequest -> StateRequest ContaminatedState DAP.NextRequest-  Contaminated_StepIn :: DAP.StepInRequest -> StateRequest ContaminatedState DAP.StepInRequest-  Contaminated_Evaluate :: DAP.EvaluateRequest -> StateRequest ContaminatedState DAP.EvaluateRequest-  Contaminated_Completions :: DAP.CompletionsRequest -> StateRequest ContaminatedState DAP.CompletionsRequest-  Contaminated_InternalTerminate :: HdaInternalTerminateRequest -> StateRequest ContaminatedState HdaInternalTerminateRequest-  Contaminated_InternalLoad :: HdaInternalLoadRequest -> StateRequest ContaminatedState HdaInternalLoadRequest--class StateRequestIF s r where-  action :: (StateRequest s r) -> AppContext (Maybe StateTransit)--data WrapStateRequest = forall s r. (StateRequestIF s r) => WrapStateRequest (StateRequest s r)--class WrapStateRequestIF w where-  actionW :: w -> AppContext  (Maybe StateTransit)--instance WrapStateRequestIF WrapStateRequest where-  actionW (WrapStateRequest x) = action x-+  doActivityW  (WrapAppState s) r = doActivity s r +-- |+--+class  (Show s, Show r) => StateActivityIF s r where+  action2 :: (AppState s) -> (Request r) -> AppContext (Maybe StateTransit)+  --action2 _ _ = return Nothing+  action2 s r = do+    liftIO $ L.warningM _LOG_APP $ show s ++ " " ++ show r ++ " not supported. nop."+    return Nothing  -------------------------------------------------------------------------------- -- | Event--- +-- data Event =   CriticalExitEvent   deriving (Show, Read, Eq)   ----------------------------------------------------------------------------------- | --- +-- |+-- data GHCiProc = GHCiProc {     _wHdLGHCiProc :: S.Handle   , _rHdlGHCiProc :: S.Handle@@ -464,14 +365,14 @@  -------------------------------------------------------------------------------- -- | Application Context--- -                      +--+ type ErrMsg = String-type AppContext = StateT AppStores (ExceptT ErrMsg IO) +type AppContext = StateT AppStores (ExceptT ErrMsg IO)   -- | Application Context Data--- +-- data AppStores = AppStores {   -- Read Only     _appNameAppStores     :: String@@ -501,7 +402,7 @@   , _ghciProcAppStores    :: MVar GHCiProc   --, _ghciStdoutAppStores  :: MVar B.ByteString   , _ghciVerAppStores     :: MVar V.Version-  } +  }  makeLenses ''AppStores makeLenses ''GHCiProc