packages feed

phoityne-vscode-0.0.15.0: app/Phoityne/VSCode/TH/LaunchRequestArgumentsJSON.hs

{-# LANGUAGE TemplateHaskell     #-}


module Phoityne.VSCode.TH.LaunchRequestArgumentsJSON where

import Data.Aeson.TH
import qualified Data.Map as M
import Phoityne.VSCode.Utility

-- |
--   Arguments for "launch" request.
--
data LaunchRequestArguments =
  LaunchRequestArguments {
    noDebugLaunchRequestArguments      :: Maybe Bool -- If noDebug is true the launch request should launch the program without enabling debugging.
  , nameLaunchRequestArguments         :: String     -- Phoityne specific argument. required.
  , typeLaunchRequestArguments         :: String     -- Phoityne specific argument. required.
  , requestLaunchRequestArguments      :: String     -- Phoityne specific argument. required. must be "request"
  , startupLaunchRequestArguments      :: String     -- Phoityne specific argument. required.
  , workspaceLaunchRequestArguments    :: String     -- Phoityne specific argument. required.
  , logFileLaunchRequestArguments      :: String     -- Phoityne specific argument. required.
  , logLevelLaunchRequestArguments     :: String     -- Phoityne specific argument. required.
  , ghciPromptLaunchRequestArguments   :: String     -- Phoityne specific argument. required.
  , ghciCmdLaunchRequestArguments      :: String     -- Phoityne specific argument. required.
  , stopOnEntryLaunchRequestArguments  :: Bool       -- Phoityne specific argument. required.
  , mainArgsLaunchRequestArguments     :: Maybe String         -- Phoityne specific argument. required.
  , ghciEnvLaunchRequestArguments      :: M.Map String String  -- Phoityne specific argument. required.
  } deriving (Show, Read, Eq)


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