phoityne-vscode-0.0.1.0: app/Phoityne/IO/GUI/VSCode/TH/ExitedEventJSON.hs
{-# LANGUAGE TemplateHaskell #-}
module Phoityne.IO.GUI.VSCode.TH.ExitedEventJSON where
import Data.Aeson
import Data.Aeson.TH
import Phoityne.Utility
import Phoityne.IO.GUI.VSCode.TH.ExitedEventBodyJSON
-- |
-- Event message for "exited" event type.
-- The event indicates that the debuggee has exited.
--
data ExitedEvent =
ExitedEvent {
seqExitedEvent :: Int -- Sequence number
, typeExitedEvent :: String -- One of "request", "response", or "event"
, eventExitedEvent :: String -- Type of event
, bodyExitedEvent :: ExitedEventBody
} deriving (Show, Read, Eq)
$(deriveJSON defaultOptions { fieldLabelModifier = rdrop (length "ExitedEvent") } ''ExitedEvent)
defaultExitedEvent seq code = ExitedEvent seq "event" "exited" $ defaultExitedEventBody code