packages feed

phoityne-vscode-0.0.1.0: app/Phoityne/IO/GUI/VSCode/TH/ScopesRequestJSON.hs

{-# LANGUAGE TemplateHaskell     #-}


module Phoityne.IO.GUI.VSCode.TH.ScopesRequestJSON where

import Data.Aeson.TH

import Phoityne.Utility
import Phoityne.IO.GUI.VSCode.TH.ScopesArgumentsJSON

-- |
--   Scopes request; value of command field is "scopes".
--   The request returns the variable scopes for a given stackframe ID.
--
data ScopesRequest =
  ScopesRequest {
    seqScopesRequest       :: Int              -- Sequence number
  , typeScopesRequest      :: String           -- One of "request", "response", or "event"
  , commandScopesRequest   :: String           -- The command to execute
  , argumentsScopesRequest :: ScopesArguments  -- Arguments for "scopes" request.
  } deriving (Show, Read, Eq)

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