packages feed

phoityne-vscode-0.0.8.0: app/Phoityne/VSCode/TH/StackTraceRequestJSON.hs

{-# LANGUAGE TemplateHaskell     #-}


module Phoityne.VSCode.TH.StackTraceRequestJSON where

import Data.Aeson.TH

import Phoityne.VSCode.Utility
import Phoityne.VSCode.TH.StackTraceArgumentsJSON

-- |
--   StackTrace request; value of command field is "stackTrace".
--   The request returns a stacktrace from the current execution state.
--
data StackTraceRequest =
  StackTraceRequest {
    seqStackTraceRequest       :: Int                  -- Sequence number
  , typeStackTraceRequest      :: String               -- One of "request", "response", or "event"
  , commandStackTraceRequest   :: String               -- The command to execute
  , argumentsStackTraceRequest :: StackTraceArguments  -- Arguments for "stackTrace" request.
  } deriving (Show, Read, Eq)

$(deriveJSON defaultOptions { fieldLabelModifier = rdrop (length "StackTraceRequest") } ''StackTraceRequest)