packages feed

phoityne-vscode-0.0.6.0: app/Phoityne/IO/GUI/VSCode/TH/LaunchRequestArgumentsJSON.hs

{-# LANGUAGE TemplateHaskell     #-}


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

import Data.Aeson.TH

import Phoityne.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.
  } deriving (Show, Read, Eq)


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