-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A debug adaptor protocol library
--
-- A library for the Debug Adaptor Protocol (DAP)
@package dap
@version 0.1.0.0
module DAP
setBody :: ToJSON value => value -> Adaptor app ()
setField :: ToJSON value => Key -> value -> Adaptor app ()
sendSuccesfulEmptyResponse :: Adaptor app ()
sendSuccesfulResponse :: Adaptor app () -> Adaptor app ()
-- | Sends unsuccessful response Only used internally within the Server
-- module
sendErrorResponse :: ErrorMessage -> Maybe Message -> Adaptor app ()
-- | Sends successful event
sendSuccesfulEvent :: EventType -> Adaptor app () -> Adaptor app ()
getServerCapabilities :: Adaptor app Capabilities
withConnectionLock :: IO () -> Adaptor app ()
-- | Attempt to parse arguments from the Request
getArguments :: (Show value, FromJSON value) => Adaptor app value
getRequestSeqNum :: Adaptor app Seq
registerNewDebugSession :: SessionId -> app -> IO () -> ((Adaptor app () -> IO ()) -> IO ()) -> Adaptor app ()
updateDebugSession :: (app -> app) -> Adaptor app ()
getDebugSession :: Adaptor a a
getDebugSessionId :: Adaptor app SessionId
-- | Whenever a debug Session ends (cleanly or otherwise) this function
-- will remove the local debugger communication state from the global
-- state
destroyDebugSession :: Adaptor app ()
-- | Raises an error Meant abort the current reqeust / response cycle,
-- prematurely sending an ErrorResponse
-- https://microsoft.github.io/debug-adapter-protocol/specification#Base_Protocol_ErrorResponse
sendError :: ErrorMessage -> Maybe Message -> Adaptor app a
logWarn :: ByteString -> Adaptor app ()
logError :: ByteString -> Adaptor app ()
logInfo :: ByteString -> Adaptor app ()
-- | Meant for external consumption
logger :: Level -> SockAddr -> Maybe DebugStatus -> ByteString -> IO ()
-- | Meant for internal consumption, used to signify a message has been
-- SENT from the server
debugMessage :: ByteString -> Adaptor app ()
-- | Function for constructing a payload and writing bytes to a socket.
-- This function takes care of incrementing sequence numbers and setting
-- fields automatically that are required for response messages.
-- i.e. "request_seq" and "command". We also have to be sure to reset the
-- message payload
send :: Adaptor app () -> Adaptor app ()
-- | sendRaw (internal use only) Sends a raw JSON payload to the
-- editor. No "seq", "type" or "command" fields are set. The message is
-- still encoded with the ProtocolMessage Header, byte count, and CRLF.
sendRaw :: ToJSON value => value -> Adaptor app ()
-- | Evaluates Adaptor action by using and updating the state in the MVar
runAdaptorWith :: MVar (AdaptorState app) -> Adaptor app () -> IO ()
sendBreakpointEvent :: BreakpointEvent -> Adaptor app ()
sendCapabilitiesEvent :: CapabilitiesEvent -> Adaptor app ()
sendContinuedEvent :: ContinuedEvent -> Adaptor app ()
sendExitedEvent :: ExitedEvent -> Adaptor app ()
sendInitializedEvent :: Adaptor app ()
sendInvalidatedEvent :: InvalidatedEvent -> Adaptor app ()
sendLoadedSourceEvent :: LoadedSourceEvent -> Adaptor app ()
sendMemoryEvent :: MemoryEvent -> Adaptor app ()
sendModuleEvent :: ModuleEvent -> Adaptor app ()
sendOutputEvent :: OutputEvent -> Adaptor app ()
sendProcessEvent :: ProcessEvent -> Adaptor app ()
sendProgressEndEvent :: ProgressEndEvent -> Adaptor app ()
sendProgressStartEvent :: ProgressStartEvent -> Adaptor app ()
sendProgressUpdateEvent :: ProgressUpdateEvent -> Adaptor app ()
sendStoppedEvent :: StoppedEvent -> Adaptor app ()
sendTerminatedEvent :: TerminatedEvent -> Adaptor app ()
sendThreadEvent :: ThreadEvent -> Adaptor app ()
defaultContinuedEvent :: ContinuedEvent
defaultExitedEvent :: ExitedEvent
defaultInvalidatedEvent :: InvalidatedEvent
defaultMemoryEvent :: MemoryEvent
defaultOutputEvent :: OutputEvent
defaultProcessEvent :: ProcessEvent
defaultProgressEndEvent :: ProgressEndEvent
defaultProgressStartEvent :: ProgressStartEvent
defaultProgressUpdateEvent :: ProgressUpdateEvent
defaultStoppedEvent :: StoppedEvent
defaultTerminatedEvent :: TerminatedEvent
defaultThreadEvent :: ThreadEvent
-- | Used for performing actions (e.g. printing debug logs to stdout) Also
-- used for writing to each connections Handle. Ensures operations occur
-- one thread at a time.
--
-- Used internally only
withLock :: MVar () -> IO () -> IO ()
-- | Used for performing actions (e.g. printing debug logs to stdout)
-- Ensures operations occur one thread at a time.
--
-- Used internally only
withGlobalLock :: IO () -> IO ()
-- | AttachResponse has no body by default
sendAttachResponse :: Adaptor app ()
-- | BreakpointLocationResponse has no body by default
sendBreakpointLocationsResponse :: [BreakpointLocation] -> Adaptor app ()
sendCompletionsResponse :: CompletionsResponse -> Adaptor app ()
-- | ConfigurationDoneResponse
sendConfigurationDoneResponse :: Adaptor app ()
-- | ContinueResponse
sendContinueResponse :: ContinueResponse -> Adaptor app ()
sendDataBreakpointInfoResponse :: DataBreakpointInfoResponse -> Adaptor app ()
sendDisassembleResponse :: DisassembleResponse -> Adaptor app ()
-- | DisconnectResponse
sendDisconnectResponse :: Adaptor app ()
sendEvaluateResponse :: EvaluateResponse -> Adaptor app ()
sendExceptionInfoResponse :: ExceptionInfoResponse -> Adaptor app ()
-- | GotoResponse
sendGotoResponse :: Adaptor app ()
-- | GotoTargetsResponse
sendGotoTargetsResponse :: Adaptor app ()
-- | InitializeReponse
sendInitializeResponse :: Adaptor app ()
-- | LaunchResponse
sendLaunchResponse :: Adaptor app ()
sendLoadedSourcesResponse :: [Source] -> Adaptor app ()
sendModulesResponse :: ModulesResponse -> Adaptor app ()
-- | NextResponse
sendNextResponse :: Adaptor app ()
-- | PauseResponse
sendPauseResponse :: Adaptor app ()
sendReadMemoryResponse :: ReadMemoryResponse -> Adaptor app ()
-- | RestartResponse
sendRestartResponse :: Adaptor app ()
-- | RestartFrameResponse
sendRestartFrameResponse :: Adaptor app ()
-- | ReverseContinueResponse
sendReverseContinueResponse :: Adaptor app ()
sendScopesResponse :: ScopesResponse -> Adaptor app ()
-- | BreakpointResponse has no body by default
sendSetBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
-- | SetDataBreakpointsResponse
sendSetDataBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
-- | SetExceptionBreakpointsResponse has no body by default
sendSetExceptionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
sendSetExpressionResponse :: SetExpressionResponse -> Adaptor app ()
-- | SetFunctionBreakpointResponse has no body by default
sendSetFunctionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
-- | SetInstructionsBreakpointResponse has no body by default
sendSetInstructionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
sendSetVariableResponse :: SetVariableResponse -> Adaptor app ()
sendSourceResponse :: SourceResponse -> Adaptor app ()
sendStackTraceResponse :: StackTraceResponse -> Adaptor app ()
-- | StepBackResponse
sendStepBackResponse :: Adaptor app ()
-- | StepInResponse
sendStepInResponse :: Adaptor app ()
sendStepInTargetsResponse :: StepInTargetsResponse -> Adaptor app ()
-- | StepOutResponse
sendStepOutResponse :: Adaptor app ()
-- | TerminateResponse
sendTerminateResponse :: Adaptor app ()
-- | TerminateThreadsResponse
sendTerminateThreadsResponse :: Adaptor app ()
sendThreadsResponse :: [Thread] -> Adaptor app ()
sendVariablesResponse :: VariablesResponse -> Adaptor app ()
sendWriteMemoryResponse :: WriteMemoryResponse -> Adaptor app ()
sendRunInTerminalResponse :: RunInTerminalResponse -> Adaptor app ()
sendStartDebuggingResponse :: Adaptor app ()
runDAPServer :: ServerConfig -> (Command -> Adaptor app ()) -> IO ()
-- | Helper function to parse a ProtocolMessage, extracting it's
-- body. used for testing.
readPayload :: FromJSON json => Handle -> IO (Either String json)
data MessageType
MessageTypeEvent :: MessageType
MessageTypeResponse :: MessageType
MessageTypeRequest :: MessageType
data Breakpoint
Breakpoint :: Maybe Int -> Bool -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Int -> Breakpoint
-- | The identifier for the breakpoint. It is needed if breakpoint events
-- are used to update or remove breakpoints.
[breakpointId] :: Breakpoint -> Maybe Int
-- | If true, the breakpoint could be set (but not necessarily at the
-- desired location).
[breakpointVerified] :: Breakpoint -> Bool
-- | A message about the state of the breakpoint. This is shown to the user
-- and can be used to explain why a breakpoint could not be verified.
[breakpointMessage] :: Breakpoint -> Maybe Text
-- | The source where the breakpoint is located.
[breakpointSource] :: Breakpoint -> Maybe Source
-- | The start line of the actual range covered by the breakpoint.
[breakpointLine] :: Breakpoint -> Maybe Int
-- | Start position of the source range covered by the breakpoint. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based.
[breakpointColumn] :: Breakpoint -> Maybe Int
-- | The end line of the actual range covered by the breakpoint.
[breakpointEndLine] :: Breakpoint -> Maybe Int
-- | End position of the source range covered by the breakpoint. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based. If no
-- end line is given, then the end column is assumed to be in the start
-- line.
[breakpointEndColumn] :: Breakpoint -> Maybe Int
-- | A memory reference to where the breakpoint is set.
[breakpointInstructionReference] :: Breakpoint -> Maybe Text
-- | The offset from the instruction reference. This can be negative.
[breakpointOffset] :: Breakpoint -> Maybe Int
newtype Breakpoints breakpoint
Breakpoints :: [breakpoint] -> Breakpoints breakpoint
data BreakpointLocation
BreakpointLocation :: Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocation
-- | Start line of breakpoint location.
[breakpointLocationLine] :: BreakpointLocation -> Int
-- | The start position of a breakpoint location. Position is measured in
-- UTF-16 code units and the client capability columnsStartAt1
-- determines whether it is 0- or 1-based.
[breakpointLocationColumn] :: BreakpointLocation -> Maybe Int
-- | The end line of breakpoint location if the location covers a range.
[breakpointLocationEndLine] :: BreakpointLocation -> Maybe Int
-- | The end position of a breakpoint location (if the location covers a
-- range). Position is measured in UTF-16 code units and the client
-- capability columnsStartAt1 determines whether it is 0- or
-- 1-based.
[breakpointLocationEndColumn] :: BreakpointLocation -> Maybe Int
data Capabilities
Capabilities :: Bool -> Bool -> Bool -> Bool -> Bool -> [ExceptionBreakpointsFilter] -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> [Text] -> Bool -> [ColumnDescriptor] -> [ChecksumAlgorithm] -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Capabilities
-- | The debug adapter supports the configurationDone request.
[supportsConfigurationDoneRequest] :: Capabilities -> Bool
-- | The debug adapter supports function breakpoints.
[supportsFunctionBreakpoints] :: Capabilities -> Bool
-- | The debug adapter supports conditional breakpoints.
[supportsConditionalBreakpoints] :: Capabilities -> Bool
-- | The debug adapter supports breakpoints that break execution after a
-- specified number of hits.
[supportsHitConditionalBreakpoints] :: Capabilities -> Bool
-- | The debug adapter supports a (side effect free) evaluate
-- request for data hovers.
[supportsEvaluateForHovers] :: Capabilities -> Bool
-- | Available exception filter options for the
-- setExceptionBreakpoints ^ request.
[exceptionBreakpointFilters] :: Capabilities -> [ExceptionBreakpointsFilter]
-- | The debug adapter supports stepping back via the stepBack and
-- ^ reverseContinue requests.
[supportsStepBack] :: Capabilities -> Bool
-- | The debug adapter supports setting a variable to a value.
[supportsSetVariable] :: Capabilities -> Bool
-- | The debug adapter supports restarting a frame.
[supportsRestartFrame] :: Capabilities -> Bool
-- | The debug adapter supports the gotoTargets request.
[supportsGotoTargetsRequest] :: Capabilities -> Bool
-- | The debug adapter supports the stepInTargets request.
[supportsStepInTargetsRequest] :: Capabilities -> Bool
-- | The debug adapter supports the completions request.
[supportsCompletionsRequest] :: Capabilities -> Bool
-- | The set of characters that should trigger completion in a REPL. If not
-- ^ specified, the UI should assume the . character.
[completionTriggerCharacters] :: Capabilities -> [Text]
-- | The debug adapter supports the modules request.
[supportsModulesRequest] :: Capabilities -> Bool
-- | The set of additional module information exposed by the debug adapter.
[additionalModuleColumns] :: Capabilities -> [ColumnDescriptor]
-- | Checksum algorithms supported by the debug adapter.
[supportedChecksumAlgorithms] :: Capabilities -> [ChecksumAlgorithm]
-- | The debug adapter , supports the restart request. In this
-- case a client ^ should not implement restart by terminating
-- and relaunching the adapter ^ but by calling the restart
-- request.
[supportsRestartRequest] :: Capabilities -> Bool
-- | The debug adapter , supports exceptionOptions on the ^
-- setExceptionBreakpoints request.
[supportsExceptionOptions] :: Capabilities -> Bool
-- | The debug adapter , supports a format attribute on the
-- stackTrace, ^ variables, and evaluate
-- requests.
[supportsValueFormattingOptions] :: Capabilities -> Bool
-- | The debug adapter , supports the exceptionInfo request.
[supportsExceptionInfoRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the terminateDebuggee attribute
-- on the disconnect request.
[supportTerminateDebuggee] :: Capabilities -> Bool
-- | The debug adapter , supports the suspendDebuggee attribute on
-- the disconnect request.
[supportSuspendDebuggee] :: Capabilities -> Bool
-- | The debug adapter , supports the delayed loading of parts of the
-- stack, which ^ requires that both the startFrame and
-- levels arguments and the ^ totalFrames result of the
-- stackTrace request are supported.
[supportsDelayedStackTraceLoading] :: Capabilities -> Bool
-- | The debug adapter , supports the loadedSources request.
[supportsLoadedSourcesRequest] :: Capabilities -> Bool
-- | The debug adapter , supports log points by interpreting the
-- logMessage ^ attribute of the SourceBreakpoint.
[supportsLogPoints] :: Capabilities -> Bool
-- | The debug adapter , supports the terminateThreads request.
[supportsTerminateThreadsRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the setExpression request.
[supportsSetExpression] :: Capabilities -> Bool
-- | The debug adapter , supports the terminate request.
[supportsTerminateRequest] :: Capabilities -> Bool
-- | The debug adapter , supports data breakpoints.
[supportsDataBreakpoints] :: Capabilities -> Bool
-- | The debug adapter , supports the readMemory request.
[supportsReadMemoryRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the writeMemory request.
[supportsWriteMemoryRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the disassemble request.
[supportsDisassembleRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the cancel request.
[supportsCancelRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the breakpointLocations request.
[supportsBreakpointLocationsRequest] :: Capabilities -> Bool
-- | The debug adapter , supports the clipboard context value in
-- the evaluate request.
[supportsClipboardContext] :: Capabilities -> Bool
-- | The debug adapter , supports stepping granularities (argument
-- granularity) for the stepping requests.
[supportsSteppingGranularity] :: Capabilities -> Bool
-- | The debug adapter , supports adding breakpoints based on instruction
-- references.
[supportsInstructionBreakpoints] :: Capabilities -> Bool
-- | The debug adapter , supports filterOptions as an argument on
-- the setExceptionBreakpoints request.
[supportsExceptionFilterOptions] :: Capabilities -> Bool
-- | The debug adapter , supports the singleThread property on the
-- execution requests (continue, next, stepIn,
-- stepOut, reverseContinue, stepBack).
[supportsSingleThreadExecutionRequests] :: Capabilities -> Bool
data Checksum
Checksum :: ChecksumAlgorithm -> Text -> Checksum
-- | The algorithm used to calculate this checksum.
[algorithm] :: Checksum -> ChecksumAlgorithm
-- | Value of the checksum, encoded as a hexadecimal value.
[checksum] :: Checksum -> Text
data ChecksumAlgorithm
MD5 :: ChecksumAlgorithm
SHA1 :: ChecksumAlgorithm
SHA256 :: ChecksumAlgorithm
TimeStamp :: UTCTime -> ChecksumAlgorithm
-- | A ColumnDescriptor specifies what module attribute to show in a column
-- of the modules view, how to format it, and what the column’s label
-- should be. It is only used if the underlying UI actually supports this
-- level of customization.
data ColumnDescriptor
ColumnDescriptor :: String -> String -> Maybe String -> Maybe ColumnDescriptorType -> Maybe Int -> ColumnDescriptor
-- | Name of the attribute rendered in this column.
[columnDescriptorAttributeName] :: ColumnDescriptor -> String
-- | Header UI label of column.
[columnDescriptorLabel] :: ColumnDescriptor -> String
-- | Format to use for the rendered values in this column. TBD how the
-- format strings looks like.
[columnDescriptorFormat] :: ColumnDescriptor -> Maybe String
-- | Datatype of values in this column. Defaults to string if not
-- specified. Values: string, number, boolean,
-- unixTimestampUTC
[columnDescriptorType] :: ColumnDescriptor -> Maybe ColumnDescriptorType
-- | Width of this column in characters (hint only).
[columnDescriptorWidth] :: ColumnDescriptor -> Maybe Int
data CompletionItem
CompletionItem :: String -> Maybe String -> Maybe String -> Maybe String -> Maybe CompletionItemType -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> CompletionItem
-- | The label of this completion item. By default this is also the text
-- that is inserted when selecting this completion.
[completionItemLabel] :: CompletionItem -> String
-- | If text is returned and not an empty string, then it is inserted
-- instead of the label.
[completionItemText] :: CompletionItem -> Maybe String
-- | A string that should be used when comparing this item with other
-- items. If not returned or an empty string, the label is used
-- instead.
[completionItemSortText] :: CompletionItem -> Maybe String
-- | A human-readable string with additional information about this item,
-- like type or symbol information.
[completionItemDetail] :: CompletionItem -> Maybe String
-- | The item's type. Typically the client uses this information to render
-- the item in the UI with an icon.
[completionItemType] :: CompletionItem -> Maybe CompletionItemType
-- | Start position (within the text attribute of the
-- completions request) where the completion text is added. The
-- position is measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based. If the
-- start position is omitted the text is added at the location specified
-- by the column attribute of the completions request.
[completionItemTypeStart] :: CompletionItem -> Maybe Int
-- | Length determines how many characters are overwritten by the
-- completion text and it is measured in UTF-16 code units. If missing
-- the value 0 is assumed which results in the completion text being
-- inserted.
[completionItemTypeLength] :: CompletionItem -> Maybe Int
-- | Determines the start of the new selection after the text has been
-- inserted (or replaced). selectionStart is measured in UTF-16
-- code units and must be in the range 0 and length of the completion
-- text. If omitted the selection starts at the end of the completion
-- text.
[completionItemTypeSelectionStart] :: CompletionItem -> Maybe Int
-- | Determines the length of the new selection after the text has been
-- inserted (or replaced) and it is measured in UTF-16 code units. The
-- selection can not extend beyond the bounds of the completion text. If
-- omitted the length is assumed to be 0.
[completionItemTypeSelectionLength] :: CompletionItem -> Maybe Int
data CompletionItemType
CompletionItemTypeMethod :: CompletionItemType
CompletionItemTypeFunction :: CompletionItemType
CompletionItemTypeConstructor :: CompletionItemType
CompletionItemTypeField :: CompletionItemType
CompletionItemTypeVariable :: CompletionItemType
CompletionItemTypeClass :: CompletionItemType
CompletionItemTypeInterface :: CompletionItemType
CompletionItemTypeModule :: CompletionItemType
CompletionItemTypeProperty :: CompletionItemType
CompletionItemTypeUnit :: CompletionItemType
CompletionItemTypeValue :: CompletionItemType
CompletionItemTypeEnum :: CompletionItemType
CompletionItemTypeKeyword :: CompletionItemType
CompletionItemTypeSnippet :: CompletionItemType
CompletionItemTypeText :: CompletionItemType
CompletionItemTypeColor :: CompletionItemType
CompletionItemTypeFile :: CompletionItemType
CompletionItemTypeReference :: CompletionItemType
CompletionItemTypeCustomcolor :: CompletionItemType
data DataBreakpoint
DataBreakpoint :: Text -> Maybe DataBreakpointAccessType -> Maybe Text -> Maybe Text -> DataBreakpoint
-- | An id representing the data. This id is returned from the
-- dataBreakpointInfo request.
[dataBreakpointDataId] :: DataBreakpoint -> Text
-- | The access type of the data.
[dataBreakpointAccessType] :: DataBreakpoint -> Maybe DataBreakpointAccessType
-- | An expression for conditional breakpoints.
[condition] :: DataBreakpoint -> Maybe Text
-- | An expression that controls how many hits of the breakpoint are
-- ignored. The debug adapter is expected to interpret the expression as
-- needed.
[hitCondition] :: DataBreakpoint -> Maybe Text
-- | This enumeration defines all possible access types for data
-- breakpoints. Values: ‘read’, ‘write’, ‘readWrite’
data DataBreakpointAccessType
DataBreakpointAccessTypeRead :: DataBreakpointAccessType
DataBreakpointAccessTypeWrite :: DataBreakpointAccessType
DataBreakpointAccessTypeReadWrite :: DataBreakpointAccessType
data DisassembledInstruction
DisassembledInstruction :: Text -> Maybe Text -> Text -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> DisassembledInstruction
-- | The address of the instruction. Treated as a hex value if prefixed
-- with `0x`, or as a decimal value otherwise.
[disassembledInstructionAddress] :: DisassembledInstruction -> Text
-- | Raw bytes representing the instruction and its operands, in an
-- implementation-defined format.
[disassembledInstructionInstructionBytes] :: DisassembledInstruction -> Maybe Text
-- | Text representing the instruction and its operands, in an
-- implementation-defined format.
[disassembledInstructionInstruction] :: DisassembledInstruction -> Text
-- | Name of the symbol that corresponds with the location of this
-- instruction, if any.
[disassembledInstructionSymbol] :: DisassembledInstruction -> Maybe Text
-- | Source location that corresponds to this instruction, if any. Should
-- always be set (if available) on the first instruction returned, but
-- can be omitted afterwards if this instruction maps to the same source
-- file as the previous instruction.
[disassembledInstructionLocation] :: DisassembledInstruction -> Maybe Source
-- | The line within the source location that corresponds to this
-- instruction, if any.
[disassembledInstructionLine] :: DisassembledInstruction -> Maybe Int
-- | The column within the line that corresponds to this instruction, if
-- any.
[disassembledInstructionColumn] :: DisassembledInstruction -> Maybe Int
-- | The end line of the range that corresponds to this instruction, if
-- any.
[disassembledInstructionEndLine] :: DisassembledInstruction -> Maybe Int
-- | The end column of the range that corresponds to this instruction, if
-- any.
[disassembledInstructionEndColumn] :: DisassembledInstruction -> Maybe Int
data ExceptionBreakMode
Never :: ExceptionBreakMode
Always :: ExceptionBreakMode
Unhandled :: ExceptionBreakMode
UserUnhandled :: ExceptionBreakMode
-- | An ExceptionBreakpointsFilter is shown in the UI as an filter option
-- for configuring how exceptions are dealt with.
data ExceptionBreakpointsFilter
ExceptionBreakpointsFilter :: Text -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> ExceptionBreakpointsFilter
-- | The internal ID of the filter option. This value is passed to the
-- setExceptionBreakpoints request.
[exceptionBreakpointsFilterFilter] :: ExceptionBreakpointsFilter -> Text
-- | The name of the filter option. This is shown in the UI.
[exceptionBreakpointsFilterLabel] :: ExceptionBreakpointsFilter -> Text
-- | A help text providing additional information about the exception
-- filter. This string is typically shown as a hover and can be
-- translated.
[exceptionBreakpointsFilterDescription] :: ExceptionBreakpointsFilter -> Maybe Text
-- | Initial value of the filter option. If not specified a value false is
-- assumed.
[exceptionBreakpointsFilterDefault] :: ExceptionBreakpointsFilter -> Maybe Bool
-- | Controls whether a condition can be specified for this filter option.
-- If false or missing, a condition can not be set.
[exceptionBreakpointsFilterSupportsCondition] :: ExceptionBreakpointsFilter -> Maybe Bool
-- | A help text providing information about the condition. This string is
-- shown as the placeholder text for a text box and can be translated.
[exceptionBreakpointsFilterConditionDescription] :: ExceptionBreakpointsFilter -> Maybe Text
data ExceptionDetails
ExceptionDetails :: Maybe String -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExceptionDetails] -> ExceptionDetails
-- | Message contained in the exception.
[exceptionDetailsMessage] :: ExceptionDetails -> Maybe String
-- | Short type name of the exception object.
[exceptionDetailstypeName] :: ExceptionDetails -> Maybe Text
-- | Fully-qualified type name of the exception object.
[exceptionDetailsFullTypeName] :: ExceptionDetails -> Maybe Text
-- | An expression that can be evaluated in the current scope to obtain the
-- exception object.
[exceptionDetailsEvaluateName] :: ExceptionDetails -> Maybe Text
-- | Stack trace at the time the exception was thrown.
[exceptionDetailsStackTrace] :: ExceptionDetails -> Maybe Text
-- | Details of the exception contained by this exception, if any.
[exceptionDetailsInnerException] :: ExceptionDetails -> Maybe [ExceptionDetails]
data ExceptionFilterOptions
ExceptionFilterOptions :: String -> Maybe String -> ExceptionFilterOptions
-- | ID of an exception filter returned by the
-- exceptionBreakpointFilters capability.
[exceptionFilterOptionsFilterId] :: ExceptionFilterOptions -> String
-- | An expression for conditional exceptions. The exception breaks into
-- the debugger if the result of the condition is true.
[exceptionFilterOptionsCondition] :: ExceptionFilterOptions -> Maybe String
data ExceptionOptions
ExceptionOptions :: Maybe [ExceptionPathSegment] -> ExceptionBreakMode -> ExceptionOptions
-- | A path that selects a single or multiple exceptions in a tree. If
-- path is missing, the whole tree is selected. By convention
-- the first segment of the path is a category that is used to group
-- exceptions in the UI.
[exceptionOptionsPath] :: ExceptionOptions -> Maybe [ExceptionPathSegment]
-- | Condition when a thrown exception should result in a break.
[exceptionOptionsBreakMode] :: ExceptionOptions -> ExceptionBreakMode
-- | An ExceptionPathSegment represents a segment in a path that is used to
-- match leafs or nodes in a tree of exceptions. If a segment consists of
-- more than one name, it matches the names provided if negate is false
-- or missing, or it matches anything except the names provided if negate
-- is true.
data ExceptionPathSegment
ExceptionPathSegment :: Maybe Bool -> [String] -> ExceptionPathSegment
[exceptionPathSegmentNegate] :: ExceptionPathSegment -> Maybe Bool
[exceptionPathSegmentNames] :: ExceptionPathSegment -> [String]
data FunctionBreakpoint
FunctionBreakpoint :: Maybe Text -> Maybe Text -> Maybe Text -> FunctionBreakpoint
-- | The name of the function.
[functionBreakpointName] :: FunctionBreakpoint -> Maybe Text
-- | An expression for conditional breakpoints. It is only honored by a
-- debug adapter if the corresponding capability
-- supportsConditionalBreakpoints is true.
[functionBreakpointCondition] :: FunctionBreakpoint -> Maybe Text
-- | An expression that controls how many hits of the breakpoint are
-- ignored. The debug adapter is expected to interpret the expression as
-- needed. The attribute is only honored by a debug adapter if the
-- corresponding capability supportsHitConditionalBreakpoints is
-- true.
[functionBreakpointHitCondition] :: FunctionBreakpoint -> Maybe Text
data GotoTarget
GotoTarget :: Int -> String -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe String -> GotoTarget
-- | Unique identifier for a goto target. This is used in the goto
-- request.
[gotoTargetId] :: GotoTarget -> Int
-- | The name of the goto target (shown in the UI).
[gotoTargetLabel] :: GotoTarget -> String
-- | The line of the gotoTarget target.
[gotoTargetLine] :: GotoTarget -> Int
-- | The column of the gotoTarget target.
[gotoTargetColumn] :: GotoTarget -> Maybe Int
-- | The end line of the range covered by the gotoTarget target.
[gotoTargetEndLine] :: GotoTarget -> Maybe Int
-- | The end column of the range covered by the gotoTarget target.
[gotoTargetEndColumn] :: GotoTarget -> Maybe Int
-- | A memory reference for the instruction pointer value represented by
-- this target.
[gotoTargetInstructionPointerReference] :: GotoTarget -> Maybe String
data InstructionBreakpoint
InstructionBreakpoint :: Text -> Maybe Int -> Maybe Text -> Maybe Text -> InstructionBreakpoint
-- | The instruction reference of the breakpoint. This should be a memory
-- or instruction pointer reference from an EvaluateResponse,
-- Variable, StackFrame, GotoTarget, or
-- Breakpoint.
[instructionBreakpointInstructionReference] :: InstructionBreakpoint -> Text
-- | The offset from the instruction reference. This can be negative.
[instructionBreakpointOffset] :: InstructionBreakpoint -> Maybe Int
-- | An expression for conditional breakpoints. It is only honored by a
-- debug adapter if the corresponding capability
-- supportsConditionalBreakpoints is true.
[instructionBreakpointCondition] :: InstructionBreakpoint -> Maybe Text
-- | An expression that controls how many hits of the breakpoint are
-- ignored. The debug adapter is expected to interpret the expression as
-- needed. The attribute is only honored by a debug adapter if the
-- corresponding capability supportsHitConditionalBreakpoints is
-- true.
[instructionBreakpointHitCondition] :: InstructionBreakpoint -> Maybe Text
-- | Logical areas that can be invalidated by the invalidated event.
-- Values:
-- https://microsoft.github.io/debug-adapter-protocol/specification#Types_InvalidatedAreas
data InvalidatedAreas
InvalidatedAreasAll :: InvalidatedAreas
InvalidatedAreasStacks :: InvalidatedAreas
InvalidatedAreasThreads :: InvalidatedAreas
InvalidatedAreasVariables :: InvalidatedAreas
data Message
Message :: Int -> Text -> Maybe (HashMap Text Text) -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Message
-- | Unique (within a debug adapter implementation) identifier for the
-- message. The purpose of these error IDs is to help extension authors
-- that have the requirement that every user visible error message needs
-- a corresponding error number, so that users or customer support can
-- find information about the specific error more easily.
[messageId] :: Message -> Int
-- | A format string for the message. Embedded variables have the form
-- `{name}`. If variable name starts with an underscore character, the
-- variable does not contain user data (PII) and can be safely used for
-- telemetry purposes.
[messageFormat] :: Message -> Text
-- | An object used as a dictionary for looking up the variables in the
-- format string.
[messageVariables] :: Message -> Maybe (HashMap Text Text)
-- | If true send to telemetry.
[messageSendTelemetry] :: Message -> Maybe Bool
-- | If true show user.
[messageShowUser] :: Message -> Maybe Bool
-- | A url where additional information about this message can be found.
[messageUrl] :: Message -> Maybe Text
-- | A label that is presented to the user as the UI for opening the url.
[messageUrlLabel] :: Message -> Maybe Text
data Module
Module :: Either Text Int -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Module
-- | Unique identifier for the module.
[moduleId] :: Module -> Either Text Int
-- | A name of the module.
[moduleName] :: Module -> Text
-- | Logical full path to the module. The exact definition is
-- implementation defined, but usually this would be a full path to the
-- on-disk file for the module.
[modulePath] :: Module -> Maybe Text
-- | True if the module is optimized.
[moduleIsOptimized] :: Module -> Maybe Bool
-- | True if the module is considered 'user code' by a debugger that
-- supports 'Just My Code'.
[moduleIsUserCode] :: Module -> Maybe Bool
-- | Version of Module.
[moduleVersion] :: Module -> Maybe Text
-- | User-understandable description of if symbols were found for the
-- module (ex: 'Symbols Loaded', 'Symbols not found', etc.)
[moduleSymbolStatus] :: Module -> Maybe Text
-- | Logical full path to the symbol file. The exact definition is
-- implementation defined.
[moduleSymbolFilePath] :: Module -> Maybe Text
-- | Module created or modified, encoded as a RFC 3339 timestamp.
[moduleDateTimeStamp] :: Module -> Maybe Text
-- | Address range covered by this module.
[moduleAddressRange] :: Module -> Maybe Text
data ModulesViewDescriptor
ModulesViewDescriptor :: [ColumnDescriptor] -> ModulesViewDescriptor
[modulesViewDescriptorColumns] :: ModulesViewDescriptor -> [ColumnDescriptor]
data PresentationHint
PresentationHintNormal :: PresentationHint
PresentationHintLabel :: PresentationHint
PresentationHintSubtle :: PresentationHint
data Scope
Scope :: Text -> Maybe ScopePresentationHint -> Int -> Maybe Int -> Maybe Int -> Bool -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Scope
-- | Name of the scope such as Arguments, Locals, or
-- Registers. This string is shown in the UI as is and can be
-- translated.
[scopeName] :: Scope -> Text
-- | A hint for how to present this scope in the UI. If this attribute is
-- missing, the scope is shown with a generic UI. Values:
-- arguments: Scope contains method arguments. locals:
-- Scope contains local variables. registers: Scope contains
-- registers. Only a single registers scope should be returned
-- from a scopes request. etc.
[scopePresentationHint] :: Scope -> Maybe ScopePresentationHint
-- | The variables of this scope can be retrieved by passing the value of
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[scopeVariablesReference] :: Scope -> Int
-- | The number of named variables in this scope. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks.
[scopeNamedVariables] :: Scope -> Maybe Int
-- | The number of indexed variables in this scope. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks.
[scopeIndexedVariables] :: Scope -> Maybe Int
-- | If true, the number of variables in this scope is large or expensive
-- to retrieve.
[scopeExpensive] :: Scope -> Bool
-- | The source for this scope.
[scopeSource] :: Scope -> Maybe Source
-- | The start line of the range covered by this scope.
[scopeLine] :: Scope -> Maybe Int
-- | Start position of the range covered by the scope. It is measured in
-- UTF-16 code units and the client capability columnsStartAt1
-- determines whether it is 0- or 1-based.
[scopeColumn] :: Scope -> Maybe Int
-- | The end line of the range covered by this scope.
[scopeEndLine] :: Scope -> Maybe Int
-- | End position of the range covered by the scope. It is measured in
-- UTF-16 code units and the client capability columnsStartAt1
-- determines whether it is 0- or 1-based.
[scopeEndColumn] :: Scope -> Maybe Int
data Source
Source :: Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourcePresentationHint -> Maybe Text -> Maybe [Source] -> Maybe Value -> Maybe [Checksum] -> Source
-- | The short name of the source. Every source returned from the debug
-- adapter has a name. When sending a source to the debug adapter this
-- name is optional.
[sourceName] :: Source -> Maybe Text
-- | The path of the source to be shown in the UI. It is only used to
-- locate and load the content of the source if no
-- sourceReference is specified (or its value is 0).
[sourcePath] :: Source -> Maybe Text
-- | If the value > 0 the contents of the source must be retrieved
-- through the source request (even if a path is specified).
-- Since a sourceReference is only valid for a session, it can
-- not be used to persist a source. The value should be less than or
-- equal to 2147483647 (2^31-1).
[sourceSourceReference] :: Source -> Maybe Int
-- | A hint for how to present the source in the UI. A value of
-- deemphasize can be used to indicate that the source is not
-- available or that it is skipped on stepping. Values: normal,
-- emphasize, deemphasize
[sourcePresentationHint] :: Source -> Maybe SourcePresentationHint
-- | The origin of this source. For example, 'internal module', 'inlined
-- content from source map', etc.
[sourceOrigin] :: Source -> Maybe Text
-- | A list of sources that are related to this source. These may be the
-- source that generated this source.
[sourceSources] :: Source -> Maybe [Source]
-- | Additional data that a debug adapter might want to loop through the
-- client. The client should leave the data intact and persist it across
-- sessions. The client should not interpret the data.
[sourceAdapterData] :: Source -> Maybe Value
-- | The checksums associated with this file.
[sourceChecksums] :: Source -> Maybe [Checksum]
data SourceBreakpoint
SourceBreakpoint :: Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> SourceBreakpoint
-- | The source line of the breakpoint or logpoint.
[sourceBreakpointLine] :: SourceBreakpoint -> Int
-- | Start position within source line of the breakpoint or logpoint. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based.
[sourceBreakpointColumn] :: SourceBreakpoint -> Maybe Int
-- | The expression for conditional breakpoints. It is only honored by a
-- debug adapter if the corresponding capability
-- supportsConditionalBreakpoints is true.
[sourceBreakpointCondition] :: SourceBreakpoint -> Maybe Text
-- | The expression that controls how many hits of the breakpoint are
-- ignored. The debug adapter is expected to interpret the expression as
-- needed. The attribute is only honored by a debug adapter if the
-- corresponding capability supportsHitConditionalBreakpoints is
-- true. If both this property and condition are specified,
-- hitCondition should be evaluated only if the condition
-- is met, and the debug adapter should stop only if both conditions are
-- met.
[sourceBreakpointHitCondition] :: SourceBreakpoint -> Maybe Text
-- | If this attribute exists and is non-empty, the debug adapter must not
-- break (stop) but log the message instead. Expressions within
-- `{}` are interpolated. The attribute is only honored by a debug
-- adapter if the corresponding capability supportsLogPoints is
-- true. If either hitCondition or condition is specified,
-- then the message should only be logged if those conditions are met.
[sourceBreakpointLogMessage] :: SourceBreakpoint -> Maybe Text
data SourcePresentationHint
SourcePresentationHintNormal :: SourcePresentationHint
SourcePresentationHintEmphasize :: SourcePresentationHint
SourcePresentationHintDeemphasize :: SourcePresentationHint
data StackFrame
StackFrame :: Int -> Text -> Maybe Source -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe (Either Int Text) -> Maybe PresentationHint -> StackFrame
-- | An identifier for the stack frame. It must be unique across all
-- threads. This id can be used to retrieve the scopes of the frame with
-- the scopes request or to restart the execution of a stack
-- frame.
[stackFrameId] :: StackFrame -> Int
-- | The name of the stack frame, typically a method name.
[stackFrameName] :: StackFrame -> Text
-- | The source of the frame.
[stackFrameSource] :: StackFrame -> Maybe Source
-- | The line within the source of the frame. If the source attribute is
-- missing or doesn't exist, line is 0 and should be ignored by
-- the client.
[stackFrameLine] :: StackFrame -> Int
-- | Start position of the range covered by the stack frame. It is measured
-- in UTF-16 code units and the client capability columnsStartAt1
-- determines whether it is 0- or 1-based. If attribute source
-- is missing or doesn't exist, column is 0 and should be
-- ignored by the client.
[stackFrameColumn] :: StackFrame -> Int
-- | The end line of the range covered by the stack frame.
[stackFrameEndLine] :: StackFrame -> Maybe Int
-- | End position of the range covered by the stack frame. It is measured
-- in UTF-16 code units and the client capability columnsStartAt1
-- determines whether it is 0- or 1-based.
[stackFrameEndColumn] :: StackFrame -> Maybe Int
-- | Indicates whether this frame can be restarted with the
-- restart request. Clients should only use this if the debug
-- adapter supports the restart request and the corresponding
-- capability supportsRestartRequest is true. If a debug adapter
-- has this capability, then canRestart defaults to
-- true if the property is absent.
[stackFrameCanRestart] :: StackFrame -> Maybe Bool
-- | A memory reference for the current instruction pointer in this frame.
[stackFrameInstructionPointerReference] :: StackFrame -> Maybe Text
-- | The module associated with this frame, if any.
[stackFrameModuleId] :: StackFrame -> Maybe (Either Int Text)
-- | A hint for how to present this frame in the UI. A value of
-- label can be used to indicate that the frame is an artificial
-- frame that is used as a visual label or separator. A value of
-- subtle can be used to change the appearance of a frame in a
-- subtle way. Values: normal, label,
-- subtle
[stackFramePresentationHint] :: StackFrame -> Maybe PresentationHint
data StackFrameFormat
StackFrameFormat :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> StackFrameFormat
-- | Displays parameters for the stack frame.
[stackFrameFormatParameters] :: StackFrameFormat -> Maybe Bool
-- | Displays the types of parameters for the stack frame.
[stackFrameFormatParameterTypes] :: StackFrameFormat -> Maybe Bool
-- | Displays the names of parameters for the stack frame.
[stackFrameFormatParameterNames] :: StackFrameFormat -> Maybe Bool
-- | Displays the values of parameters for the stack frame.
[stackFrameFormatParameterValues] :: StackFrameFormat -> Maybe Bool
-- | Displays the line number of the stack frame.
[stackFrameFormatLine] :: StackFrameFormat -> Maybe Bool
-- | Displays the module of the stack frame.
[stackFrameFormatModule] :: StackFrameFormat -> Maybe Bool
-- | Includes all stack frames, including those the debug adapter might
-- otherwise hide.
[stackFrameFormatIncludeAll] :: StackFrameFormat -> Maybe Bool
-- | Display the value in hex.
[stackFrameFormatHex] :: StackFrameFormat -> Maybe Bool
data StepInTarget
StepInTarget :: Int -> Text -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> StepInTarget
-- | Unique identifier for a step-in target.
[stepInTargetId] :: StepInTarget -> Int
-- | The name of the step-in target (shown in the UI).
[stepInTargetLabel] :: StepInTarget -> Text
-- | The line of the step-in target.
[stepInTargetLine] :: StepInTarget -> Maybe Int
-- | Start position of the range covered by the step in target. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based.
[stepInTargetColumn] :: StepInTarget -> Maybe Int
-- | The end line of the range covered by the step-in target.
[stepInTargetEndLine] :: StepInTarget -> Maybe Int
-- | End position of the range covered by the step in target. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based.
[stepInTargetEndColumn] :: StepInTarget -> Maybe Int
data SteppingGranularity
SteppingGranularityStatement :: SteppingGranularity
SteppingGranularityLine :: SteppingGranularity
SteppingGranularityInstruction :: SteppingGranularity
data StoppedEventReason
StoppedEventReasonStep :: StoppedEventReason
StoppedEventReasonBreakpoint :: StoppedEventReason
StoppedEventReasonException :: StoppedEventReason
StoppedEventReasonPause :: StoppedEventReason
StoppedEventReasonEntry :: StoppedEventReason
StoppedEventReasonGoto :: StoppedEventReason
StoppedEventReasonFunctionBreakpoint :: StoppedEventReason
StoppedEventReasonDataBreakpoint :: StoppedEventReason
StoppedEventReasonInstructionBreakpoint :: StoppedEventReason
data Thread
Thread :: Int -> Text -> Thread
-- | Unique identifier for the thread.
[threadId] :: Thread -> Int
-- | The name of the thread.
[threadName] :: Thread -> Text
data ThreadEventReason
ThreadEventReasonStarted :: ThreadEventReason
ThreadEventReasonExited :: ThreadEventReason
ThreadEventReason :: Text -> ThreadEventReason
data ValueFormat
ValueFormat :: Maybe Bool -> ValueFormat
-- | Display the value in hex.
[valueFormatHex] :: ValueFormat -> Maybe Bool
data Variable
Variable :: Text -> Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Text -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> Variable
-- | The variable's name.
[variableName] :: Variable -> Text
-- | The variable's value. This can be a multi-line text, e.g. for a
-- function the body of a function. For structured variables (which do
-- not have a simple value), it is recommended to provide a one-line
-- representation of the structured object. This helps to identify the
-- structured object in the collapsed state when its children are not yet
-- visible. An empty string can be used if no value should be shown in
-- the UI.
[variableValue] :: Variable -> Text
-- | The type of the variable's value. Typically shown in the UI when
-- hovering over the value. This attribute should only be returned by a
-- debug adapter if the corresponding capability
-- supportsVariableType is true.
[variableType] :: Variable -> Maybe Text
-- | Properties of a variable that can be used to determine how to render
-- the variable in the UI.
[variablePresentationHint] :: Variable -> Maybe VariablePresentationHint
-- | The evaluatable name of this variable which can be passed to the
-- evaluate request to fetch the variable's value.
[variableEvaluateName] :: Variable -> Maybe Text
-- | If variablesReference is > 0, the variable is structured
-- and its children can be retrieved by passing
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[variableVariablesReference] :: Variable -> Int
-- | The number of named child variables. The client can use this
-- information to present the children in a paged UI and fetch them in
-- chunks.
[variableNamedVariables] :: Variable -> Maybe Int
-- | The number of indexed child variables. The client can use this
-- information to present the children in a paged UI and fetch them in
-- chunks.
[variableIndexedVariables] :: Variable -> Maybe Int
-- | The memory reference for the variable if the variable represents
-- executable code, such as a function pointer. This attribute is only
-- required if the corresponding capability
-- supportsMemoryReferences is true.
[variableMemoryReference] :: Variable -> Maybe Text
data VariablePresentationHint
VariablePresentationHint :: Maybe PresentationHintKind -> Maybe [PresentationHintAttributes] -> Maybe PresentationHintVisibility -> Maybe Bool -> VariablePresentationHint
-- | The kind of variable. Before introducing additional values, try to use
-- the listed values. Values: property: Indicates that the
-- object is a property. method: Indicates that the object is a
-- method. 'class': Indicates that the object is a class. 'data':
-- Indicates that the object is data. event: Indicates that the
-- object is an event. baseClass: Indicates that the object is a
-- base class. innerClass: Indicates that the object is an inner
-- class. interface: Indicates that the object is an interface.
-- mostDerivedClass: Indicates that the object is the most
-- derived class. virtual: Indicates that the object is virtual,
-- that means it is a synthetic object introduced by the adapter for
-- rendering purposes, e.g. an index range for large arrays.
-- dataBreakpoint: Deprecated: Indicates that a data breakpoint
-- is registered for the object. The hasDataBreakpoint attribute
-- should generally be used instead. etc.
[variablePresentationHintKind] :: VariablePresentationHint -> Maybe PresentationHintKind
-- | Set of attributes represented as an array of strings. Before
-- introducing additional values, try to use the listed values. Values:
-- static: Indicates that the object is static.
-- constant: Indicates that the object is a constant.
-- readOnly: Indicates that the object is read only.
-- rawText: Indicates that the object is a raw string.
-- hasObjectId: Indicates that the object can have an Object ID
-- created for it. canHaveObjectId: Indicates that the object
-- has an Object ID associated with it. hasSideEffects:
-- Indicates that the evaluation had side effects.
-- hasDataBreakpoint: Indicates that the object has its value
-- tracked by a data breakpoint. etc.
[variablePresentationHintAttributes] :: VariablePresentationHint -> Maybe [PresentationHintAttributes]
-- | Visibility of variable. Before introducing additional values, try to
-- use the listed values. Values: public, private,
-- protected, internal, final, etc.
[variablePresentationHintVisibility] :: VariablePresentationHint -> Maybe PresentationHintVisibility
-- | If true, clients can present the variable with a UI that supports a
-- specific gesture to trigger its evaluation. This mechanism can be used
-- for properties that require executing code when retrieving their value
-- and where the code execution can be expensive and/or produce
-- side-effects. A typical example are properties based on a getter
-- function. Please note that in addition to the lazy flag, the
-- variable's variablesReference is expected to refer to a
-- variable that will provide the value through another variable
-- request.
[variablePresentationHintLazy] :: VariablePresentationHint -> Maybe Bool
data ColumnDescriptorType
ColumnDescriptorTypeString :: ColumnDescriptorType
ColumnDescriptorTypeInt :: ColumnDescriptorType
ColumnDescriptorTypeBool :: ColumnDescriptorType
ColumnDescriptorTypeUTCTime :: UTCTime -> ColumnDescriptorType
data ScopePresentationHint
ScopePresentationHintArguments :: ScopePresentationHint
ScopePresentationHintLocals :: ScopePresentationHint
ScopePresentationHintRegisters :: ScopePresentationHint
ScopePresentationHint :: Text -> ScopePresentationHint
data PresentationHintKind
PresentationHintKindProperty :: PresentationHintKind
PresentationHintKindMethod :: PresentationHintKind
PresentationHintKindClass :: PresentationHintKind
PresentationHintKindData :: PresentationHintKind
PresentationHintKindEvent :: PresentationHintKind
PresentationHintKindBaseClass :: PresentationHintKind
PresentationHintKindInnerClass :: PresentationHintKind
PresentationHintKindInterface :: PresentationHintKind
PresentationHintKindMostDerivedClass :: PresentationHintKind
PresentationHintKindVirtual :: PresentationHintKind
PresentationHintKindDataBreakpoint :: PresentationHintKind
PresentationHintKind :: Text -> PresentationHintKind
data PresentationHintAttributes
PresentationHintAttributesStatic :: PresentationHintAttributes
PresentationHintAttributesConstant :: PresentationHintAttributes
PresentationHintAttributesReadOnly :: PresentationHintAttributes
PresentationHintAttributesRawText :: PresentationHintAttributes
PresentationHintAttributesHasObjectId :: PresentationHintAttributes
PresentationHintAttributesCanHaveObjectId :: PresentationHintAttributes
PresentationHintAttributesHasSideEffects :: PresentationHintAttributes
PresentationHintAttributesHasDataBreakpoint :: PresentationHintAttributes
PresentationHintAttributes :: String -> PresentationHintAttributes
data PresentationHintVisibility
PresentationHintVisibilityPublic :: PresentationHintVisibility
PresentationHintVisibilityPrivate :: PresentationHintVisibility
PresentationHintVisibilityProtected :: PresentationHintVisibility
PresentationHintVisibilityInternal :: PresentationHintVisibility
PresentationHintVisibilityFinal :: PresentationHintVisibility
PresentationHintVisibility :: String -> PresentationHintVisibility
data EventGroup
EventGroupStart :: EventGroup
EventGroupStartCollapsed :: EventGroup
EventGroupEnd :: EventGroup
data EventReason
EventReasonNew :: EventReason
EventReasonChanged :: EventReason
EventReasonRemoved :: EventReason
EventReason :: Text -> EventReason
data StartMethod
StartMethodLaunch :: StartMethod
StartMethodAttach :: StartMethod
StartMethodAttachForSuspendedLaunch :: StartMethod
data EvaluateArgumentsContext
EvaluateArgumentsContextWatch :: EvaluateArgumentsContext
EvaluateArgumentsContextRepl :: EvaluateArgumentsContext
EvaluateArgumentsContextHover :: EvaluateArgumentsContext
EvaluateArgumentsContextClipboard :: EvaluateArgumentsContext
EvaluateArgumentsContextVariable :: EvaluateArgumentsContext
data PathFormat
Path :: PathFormat
URI :: PathFormat
PathFormat :: Text -> PathFormat
data Command
CommandCancel :: Command
CommandRunInTerminal :: Command
CommandStartDebugging :: Command
CommandInitialize :: Command
CommandConfigurationDone :: Command
CommandLaunch :: Command
CommandAttach :: Command
CommandRestart :: Command
CommandDisconnect :: Command
CommandTerminate :: Command
CommandBreakpointLocations :: Command
CommandSetBreakpoints :: Command
CommandSetFunctionBreakpoints :: Command
CommandSetExceptionBreakpoints :: Command
CommandDataBreakpointInfo :: Command
CommandSetDataBreakpoints :: Command
CommandSetInstructionBreakpoints :: Command
CommandContinue :: Command
CommandNext :: Command
CommandStepIn :: Command
CommandStepOut :: Command
CommandStepBack :: Command
CommandReverseContinue :: Command
CommandRestartFrame :: Command
CommandGoTo :: Command
CommandPause :: Command
CommandStackTrace :: Command
CommandScopes :: Command
CommandVariables :: Command
CommandSetVariable :: Command
CommandSource :: Command
CommandThreads :: Command
CommandTerminateThreads :: Command
CommandModules :: Command
CommandLoadedSources :: Command
CommandEvaluate :: Command
CommandSetExpression :: Command
CommandStepInTargets :: Command
CommandGoToTargets :: Command
CommandCompletions :: Command
CommandExceptionInfo :: Command
CommandReadMemory :: Command
CommandWriteMemory :: Command
CommandDisassemble :: Command
CustomCommand :: Text -> Command
data EventType
EventTypeInitialized :: EventType
EventTypeStopped :: EventType
EventTypeContinued :: EventType
EventTypeExited :: EventType
EventTypeTerminated :: EventType
EventTypeThread :: EventType
EventTypeOutput :: EventType
EventTypeBreakpoint :: EventType
EventTypeModule :: EventType
EventTypeLoadedSource :: EventType
EventTypeProcess :: EventType
EventTypeCapabilities :: EventType
EventTypeProgressStart :: EventType
EventTypeProgressUpdate :: EventType
EventTypeProgressEnd :: EventType
EventTypeInvalidated :: EventType
EventTypeMemory :: EventType
data StoppedEvent
StoppedEvent :: StoppedEventReason -> Maybe Text -> Maybe Int -> Bool -> Maybe Text -> Bool -> [Int] -> StoppedEvent
-- | The reason for the event. For backward compatibility this string is
-- shown in the UI if the description attribute is missing (but
-- it must not be translated). Values: step,
-- breakpoint, exception, pause,
-- entry, goto, 'function breakpoint', 'data
-- breakpoint', 'instruction breakpoint', etc.
[stoppedEventReason] :: StoppedEvent -> StoppedEventReason
-- | The full reason for the event, e.g. 'Paused on exception'. This string
-- is shown in the UI as is and can be translated.
[stoppedEventDescription] :: StoppedEvent -> Maybe Text
-- | The thread which was stopped.
[stoppedEventThreadId] :: StoppedEvent -> Maybe Int
-- | A value of true hints to the client that this event should not change
-- the focus.
[stoppedEventPreserveFocusHint] :: StoppedEvent -> Bool
-- | Additional information. E.g. if reason is exception, text
-- contains the exception name. This string is shown in the UI.
[stoppedEventText] :: StoppedEvent -> Maybe Text
-- | If allThreadsStopped is true, a debug adapter can announce
-- that all threads have stopped. - The client should use this
-- information to enable that all threads can be expanded to access their
-- stacktraces. - If the attribute is missing or false, only the thread
-- with the given threadId can be expanded.
[stoppedEventAllThreadsStopped] :: StoppedEvent -> Bool
-- | Ids of the breakpoints that triggered the event. In most cases there
-- is only a single breakpoint but here are some examples for multiple
-- breakpoints: - Different types of breakpoints map to the same
-- location. - Multiple source breakpoints get collapsed to the same
-- instruction by the compiler/runtime. - Multiple function breakpoints
-- with different function names map to the same location.
[stoppedEventHitBreakpointIds] :: StoppedEvent -> [Int]
data ContinuedEvent
ContinuedEvent :: Int -> Bool -> ContinuedEvent
-- | The thread which was continued.
[continuedEventThreadId] :: ContinuedEvent -> Int
-- | If allThreadsContinued is true, a debug adapter can announce
-- that all threads have continued.
[continuedEventAllThreadsContinued] :: ContinuedEvent -> Bool
data ExitedEvent
ExitedEvent :: Int -> ExitedEvent
-- | The exit code returned from the debuggee.
[exitedEventExitCode] :: ExitedEvent -> Int
data TerminatedEvent
TerminatedEvent :: Bool -> TerminatedEvent
-- | A debug adapter may set restart to true (or to an arbitrary
-- object) to request that the client restarts the session. The value is
-- not interpreted by the client and passed unmodified as an attribute
-- __restart to the launch and attach
-- requests.
[terminatedEventRestart] :: TerminatedEvent -> Bool
data ThreadEvent
ThreadEvent :: ThreadEventReason -> Int -> ThreadEvent
-- | The reason for the event. Values: started, exited,
-- etc.
[threadEventReason] :: ThreadEvent -> ThreadEventReason
-- | The identifier of the thread.
[threadEventThreadId] :: ThreadEvent -> Int
data OutputEvent
OutputEvent :: Maybe OutputEventCategory -> Text -> Maybe EventGroup -> Maybe Int -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Value -> OutputEvent
-- | The output category. If not specified or if the category is not
-- understood by the client, console is assumed. Values:
-- console: Show the output in the client's default message UI,
-- e.g. a 'debug console'. This category should only be used for
-- informational output from the debugger (as opposed to the debuggee).
-- important: A hint for the client to show the output in the
-- client's UI for important and highly visible information, e.g. as a
-- popup notification. This category should only be used for important
-- messages from the debugger (as opposed to the debuggee). Since this
-- category value is a hint, clients might ignore the hint and assume the
-- console category. stdout: Show the output as normal
-- program output from the debuggee. stderr: Show the output as
-- error program output from the debuggee. telemetry: Send the
-- output to telemetry instead of showing it to the user. etc.
[outputEventCategory] :: OutputEvent -> Maybe OutputEventCategory
-- | The output to report.
[outputEventOutput] :: OutputEvent -> Text
-- | Support for keeping an output log organized by grouping related
-- messages. Values: start: Start a new group in expanded mode.
-- Subsequent output events are members of the group and should be shown
-- indented. The output attribute becomes the name of the group
-- and is not indented. startCollapsed: Start a new group in
-- collapsed mode. Subsequent output events are members of the group and
-- should be shown indented (as soon as the group is expanded). The
-- output attribute becomes the name of the group and is not
-- indented. end: End the current group and decrease the
-- indentation of subsequent output events. A non-empty output
-- attribute is shown as the unindented end of the group.
[outputEventGroup] :: OutputEvent -> Maybe EventGroup
-- | If an attribute variablesReference exists and its value is
-- > 0, the output contains objects which can be retrieved by passing
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[outputEventVariablesReference] :: OutputEvent -> Maybe Int
-- | The source location where the output was produced.
[outputEventSource] :: OutputEvent -> Maybe Source
-- | The source location's line where the output was produced.
[outputEventLine] :: OutputEvent -> Maybe Int
-- | The position in line where the output was produced. It is
-- measured in UTF-16 code units and the client capability
-- columnsStartAt1 determines whether it is 0- or 1-based.
[outputEventColumn] :: OutputEvent -> Maybe Int
-- | Additional data to report. For the telemetry category the
-- data is sent to telemetry, for the other categories the data is shown
-- in JSON format.
[outputEventData] :: OutputEvent -> Maybe Value
data BreakpointEvent
BreakpointEvent :: EventReason -> Breakpoint -> BreakpointEvent
-- | The reason for the event. Values: changed, new,
-- removed, etc.
[breakpointEventReason] :: BreakpointEvent -> EventReason
-- | The id attribute is used to find the target breakpoint, the
-- other attributes are used as the new values.
[breakpointEvevntBreakpoint] :: BreakpointEvent -> Breakpoint
data ModuleEvent
ModuleEvent :: EventReason -> Module -> ModuleEvent
-- | The reason for the event. Values: new, changed,
-- removed
[moduleEventReason] :: ModuleEvent -> EventReason
-- | The new, changed, or removed module. In case of removed only
-- the module id is used.
[moduleEventModule] :: ModuleEvent -> Module
data LoadedSourceEvent
LoadedSourceEvent :: EventReason -> Source -> LoadedSourceEvent
-- | The reason for the event. Values: new, changed,
-- removed
[loadedSourceEventReason] :: LoadedSourceEvent -> EventReason
-- | The new, changed, or removed source.
[loadedSourceSource] :: LoadedSourceEvent -> Source
data ProcessEvent
ProcessEvent :: Text -> Maybe Int -> Bool -> Maybe StartMethod -> Maybe Int -> ProcessEvent
-- | The logical name of the process. This is usually the full path to
-- process's executable file. Example:
-- homeexamplemyprojprogram.js.
[processEventName] :: ProcessEvent -> Text
-- | The system process id of the debugged process. This property is
-- missing for non-system processes.
[processEventSystemProcessId] :: ProcessEvent -> Maybe Int
-- | If true, the process is running on the same computer as the debug
-- adapter.
[processEventIsLocalProcess] :: ProcessEvent -> Bool
-- | Describes how the debug engine started debugging this process. Values:
-- launch: Process was launched under the debugger.
-- attach: Debugger attached to an existing process.
-- attachForSuspendedLaunch: A project launcher component has
-- launched a new process in a suspended state and then asked the
-- debugger to attach.
[processEventStartMethod] :: ProcessEvent -> Maybe StartMethod
-- | The size of a pointer or address for this process, in bits. This value
-- may be used by clients when formatting addresses for display.
[processEventPointerSize] :: ProcessEvent -> Maybe Int
data CapabilitiesEvent
CapabilitiesEvent :: Capabilities -> CapabilitiesEvent
-- | The set of updated capabilities.
[capabilities] :: CapabilitiesEvent -> Capabilities
data ProgressStartEvent
ProgressStartEvent :: Text -> Text -> Maybe Int -> Bool -> Maybe Text -> Maybe Int -> ProgressStartEvent
-- | An ID that can be used in subsequent progressUpdate and
-- progressEnd events to make them refer to the same progress
-- reporting. IDs must be unique within a debug session.
[progressStartEventProgressId] :: ProgressStartEvent -> Text
-- | Short title of the progress reporting. Shown in the UI to describe the
-- long running operation.
[progressStartEventTitle] :: ProgressStartEvent -> Text
-- | The request ID that this progress report is related to. If specified a
-- debug adapter is expected to emit progress events for the long running
-- request until the request has been either completed or cancelled. If
-- the request ID is omitted, the progress report is assumed to be
-- related to some general activity of the debug adapter.
[progressStartEventRequestId] :: ProgressStartEvent -> Maybe Int
-- | If true, the request that reports progress may be cancelled with a
-- cancel request. So this property basically controls whether
-- the client should use UX that supports cancellation. Clients that
-- don't support cancellation are allowed to ignore the setting.
[progressStartEventCancellable] :: ProgressStartEvent -> Bool
-- | More detailed progress message.
[progressStartEventMessage] :: ProgressStartEvent -> Maybe Text
-- | Progress percentage to display (value range: 0 to 100). If omitted no
-- percentage is shown.
[progressStartEventPercentage] :: ProgressStartEvent -> Maybe Int
data ProgressUpdateEvent
ProgressUpdateEvent :: Text -> Maybe Text -> Maybe Int -> ProgressUpdateEvent
-- | The ID that was introduced in the initial progressStart
-- event.
[progressUpdateEventProgressId] :: ProgressUpdateEvent -> Text
-- | More detailed progress message. If omitted, the previous message (if
-- any) is used.
[progressUpdateEventMessage] :: ProgressUpdateEvent -> Maybe Text
-- | Progress percentage to display (value range: 0 to 100). If omitted no
-- percentage is shown.
[progressUpdateEventPercentage] :: ProgressUpdateEvent -> Maybe Int
data ProgressEndEvent
ProgressEndEvent :: Text -> Maybe Text -> ProgressEndEvent
-- | The ID that was introduced in the initial ProgressStartEvent.
[progressEndEventProgressId] :: ProgressEndEvent -> Text
-- | More detailed progress message. If omitted, the previous message (if
-- any) is used.
[progressEndEventMessage] :: ProgressEndEvent -> Maybe Text
data InvalidatedEvent
InvalidatedEvent :: [InvalidatedAreas] -> Maybe Int -> Maybe Int -> InvalidatedEvent
-- | Set of logical areas that got invalidated. This property has a hint
-- characteristic: a client can only be expected to make a 'best effort'
-- in honoring the areas but there are no guarantees. If this property is
-- missing, empty, or if values are not understood, the client should
-- assume a single value all.
[invalidatedEventAreas] :: InvalidatedEvent -> [InvalidatedAreas]
-- | If specified, the client only needs to refetch data related to this
-- thread.
[invalidatedEventThreadId] :: InvalidatedEvent -> Maybe Int
-- | If specified, the client only needs to refetch data related to this
-- stack frame (and the threadId is ignored).
[invalidatedEventStackFrameId] :: InvalidatedEvent -> Maybe Int
data MemoryEvent
MemoryEvent :: Text -> Int -> Int -> MemoryEvent
-- | Memory reference of a memory range that has been updated.
[memoryEventMemoryReference] :: MemoryEvent -> Text
-- | Starting offset in bytes where memory has been updated. Can be
-- negative.
[memoryEventOffset] :: MemoryEvent -> Int
-- | Number of bytes updated.
[memoryEventCount] :: MemoryEvent -> Int
data ServerConfig
ServerConfig :: String -> Int -> Capabilities -> Bool -> ServerConfig
[host] :: ServerConfig -> String
[port] :: ServerConfig -> Int
[serverCapabilities] :: ServerConfig -> Capabilities
[debugLogging] :: ServerConfig -> Bool
-- | Core type for Debug Adaptor to send and receive messages in a type
-- safe way. the state is AdaptorState which holds configuration
-- information, along with the current event / response being constructed
-- and the type of the message. Of note: A StateT is used because
-- adaptorPayload should not be shared with other threads.
newtype Adaptor store a
Adaptor :: ExceptT (ErrorMessage, Maybe Message) (StateT (AdaptorState store) IO) a -> Adaptor store a
-- | The adaptor state is local to a single connection / thread
data AdaptorState app
AdaptorState :: MessageType -> ![Pair] -> AppStore app -> ServerConfig -> Handle -> Request -> SockAddr -> Maybe SessionId -> MVar (AdaptorState app) -> MVar () -> AdaptorState app
-- | Current message type being created This was added as a convenience so
-- we can set the request_seq and command fields
-- automatically.
[messageType] :: AdaptorState app -> MessageType
-- | Payload of the current message to be sent This should never be
-- manually modified by the end user The payload is accumulated
-- automatically by usage of the API
[payload] :: AdaptorState app -> ![Pair]
-- | Global app store, accessible on a per session basis Initialized during
-- attach sessions
[appStore] :: AdaptorState app -> AppStore app
-- | Configuration information for the ServerConfig Identical across all
-- debugging sessions
[serverConfig] :: AdaptorState app -> ServerConfig
-- | Connection Handle
[handle] :: AdaptorState app -> Handle
-- | Connection Request information
[request] :: AdaptorState app -> Request
-- | Address of Connection
[address] :: AdaptorState app -> SockAddr
-- | Session ID Local to the current connection's debugger session
[sessionId] :: AdaptorState app -> Maybe SessionId
-- | Shared state for serializable concurrency
[adaptorStateMVar] :: AdaptorState app -> MVar (AdaptorState app)
-- | A lock for writing to a Handle. One lock is created per connection and
-- exists for the duration of that connection
[handleLock] :: AdaptorState app -> MVar ()
-- | Used to store a map of debugging sessions The ThreadId is meant
-- to be an asynchronous operation that allows initalized debuggers to
-- emit custom events when they receive messages from the debugger
type AppStore app = TVar (HashMap SessionId (DebuggerThreadState, app))
-- | Used to signify a malformed message has been received
data AdaptorException
ParseException :: String -> AdaptorException
ExpectedArguments :: String -> AdaptorException
DebugSessionIdException :: String -> AdaptorException
DebuggerException :: String -> AdaptorException
data ErrorMessage
ErrorMessageCancelled :: ErrorMessage
ErrorMessageNotStopped :: ErrorMessage
ErrorMessage :: Text -> ErrorMessage
-- | On error (whenever success is false), the body can provide more
-- details.
newtype ErrorResponse
ErrorResponse :: Maybe Message -> ErrorResponse
[errorResponseError] :: ErrorResponse -> Maybe Message
data Request
Request :: Maybe Value -> Seq -> Command -> Request
-- | Request arguments
[args] :: Request -> Maybe Value
-- | Request sequence number
[requestSeqNum] :: Request -> Seq
-- | Command of Request
[command] :: Request -> Command
type PayloadSize = Int
type Seq = Int
type SessionId = Text
data CompletionsResponse
CompletionsResponse :: [CompletionItem] -> CompletionsResponse
-- | The possible completions for .
[completionResponseTargets] :: CompletionsResponse -> [CompletionItem]
data ContinueResponse
ContinueResponse :: Bool -> ContinueResponse
-- | The value true (or a missing property) signals to the client that all
-- threads have been resumed. The value false indicates that not all
-- threads were resumed.
[continueResponseAllThreadsContinued] :: ContinueResponse -> Bool
data DataBreakpointInfoResponse
DataBreakpointInfoResponse :: Maybe Text -> Text -> [DataBreakpointAccessType] -> Maybe Bool -> DataBreakpointInfoResponse
-- | An identifier for the data on which a data breakpoint can be
-- registered with the setDataBreakpoints request or null if no
-- data breakpoint is available.
[dataBreakpointInfoResponseDataId] :: DataBreakpointInfoResponse -> Maybe Text
-- | UI string that describes on what data the breakpoint is set on or why
-- a data breakpoint is not available.
[dataBreakpointInfoResponseDescription] :: DataBreakpointInfoResponse -> Text
-- | Attribute lists the available access types for a potential data
-- breakpoint. A UI client could surface this information.
[dataBreakpointInfoResponseDescriptionAccessTypes] :: DataBreakpointInfoResponse -> [DataBreakpointAccessType]
-- | Attribute indicates that a potential data breakpoint could be
-- persisted across sessions.
[dataBreakpointInfoResponseDescriptionCanPersist] :: DataBreakpointInfoResponse -> Maybe Bool
data DisassembleResponse
DisassembleResponse :: [DisassembledInstruction] -> DisassembleResponse
-- | The list of disassembled instructions.
[disassembleResponseInstructions] :: DisassembleResponse -> [DisassembledInstruction]
data EvaluateResponse
EvaluateResponse :: Text -> Text -> Maybe VariablePresentationHint -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> EvaluateResponse
-- | The result of the evaluate request.
[evaluateResponseResult] :: EvaluateResponse -> Text
-- | The type of the evaluate result. This attribute should only be
-- returned by a debug adapter if the corresponding capability
-- supportsVariableType is true.
[evaluateResponseType] :: EvaluateResponse -> Text
-- | Properties of an evaluate result that can be used to determine how to
-- render the result in the UI.
[evaluateResponsePresentationHint] :: EvaluateResponse -> Maybe VariablePresentationHint
-- | If variablesReference is > 0, the evaluate result is
-- structured and its children can be retrieved by passing
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[evaluateResponseVariablesReference] :: EvaluateResponse -> Int
-- | The number of named child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[evaluateResponseNamedVariables] :: EvaluateResponse -> Maybe Int
-- | The number of indexed child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[evaluateResponseIndexedVariables] :: EvaluateResponse -> Maybe Int
-- | A memory reference to a location appropriate for this result. For
-- pointer type eval results, this is generally a reference to the memory
-- address contained in the pointer. This attribute should be returned by
-- a debug adapter if corresponding capability
-- supportsMemoryReferences is true.
[evaluateResponseMemoryReference] :: EvaluateResponse -> Maybe Text
data ExceptionInfoResponse
ExceptionInfoResponse :: Text -> Maybe Text -> ExceptionBreakMode -> Maybe ExceptionDetails -> ExceptionInfoResponse
-- | ID of the exception that was thrown.
[exceptionInfoResponseId] :: ExceptionInfoResponse -> Text
-- | Descriptive text for the exception.
[exceptionInfoDescriptionId] :: ExceptionInfoResponse -> Maybe Text
-- | Mode that caused the exception notification to be raised.
[exceptionInfoBreakMode] :: ExceptionInfoResponse -> ExceptionBreakMode
-- | Detailed information about the exception.
[exceptionInfoReponseDetails] :: ExceptionInfoResponse -> Maybe ExceptionDetails
data GotoTargetsResponse
GotoTargetsResponse :: [GotoTarget] -> GotoTargetsResponse
-- | The possible goto targets of the specified location.
[goToTargetsResponseTargets] :: GotoTargetsResponse -> [GotoTarget]
data LoadedSourcesResponse
LoadedSourcesResponse :: [Source] -> LoadedSourcesResponse
-- | Set of loaded sources.
[loadedSourcesResponseSources] :: LoadedSourcesResponse -> [Source]
data ModulesResponse
ModulesResponse :: [Module] -> Maybe Int -> ModulesResponse
-- | All modules or range of modules.
[modulesResponseModules] :: ModulesResponse -> [Module]
-- | The total number of modules available.
[modulesResponseTotalModules] :: ModulesResponse -> Maybe Int
data ReadMemoryResponse
ReadMemoryResponse :: Int -> Text -> Maybe Int -> Maybe Text -> ReadMemoryResponse
-- | The address of the first byte of data returned. Treated as a hex value
-- if prefixed with `0x`, or as a decimal value otherwise.
[readMemoryResponseBody] :: ReadMemoryResponse -> Int
-- | The number of unreadable bytes encountered after the last successfully
-- read byte. This can be used to determine the number of bytes that
-- should be skipped before a subsequent readMemory request
-- succeeds.
[readMemoryResponseAddress] :: ReadMemoryResponse -> Text
-- | The bytes read from memory, encoded using base64. If the decoded
-- length of `data` is less than the requested count in the
-- original readMemory request, and unreadableBytes is
-- zero or omitted, then the client should assume it's reached the end of
-- readable memory.
[readMemoryResponseUnreadableBytes] :: ReadMemoryResponse -> Maybe Int
[readMemoryResponseData] :: ReadMemoryResponse -> Maybe Text
newtype ScopesResponse
ScopesResponse :: [Scope] -> ScopesResponse
-- | The scopes of the stack frame. If the array has length zero, there are
-- no scopes available.
[scopes] :: ScopesResponse -> [Scope]
data SetExpressionResponse
SetExpressionResponse :: Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Int -> Maybe Int -> Maybe Int -> SetExpressionResponse
-- | The new value of the expression.
[setExpressionResponseValue] :: SetExpressionResponse -> Text
-- | The type of the value. This attribute should only be returned by a
-- debug adapter if the corresponding capability
-- supportsVariableType is true.
[setExpressionResponseType] :: SetExpressionResponse -> Maybe Text
-- | Properties of a value that can be used to determine how to render the
-- result in the UI.
[setExpressionResponsePresentationHint] :: SetExpressionResponse -> Maybe VariablePresentationHint
-- | If variablesReference is > 0, the evaluate result is
-- structured and its children can be retrieved by passing
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[setExpressionResponseVariablesReference] :: SetExpressionResponse -> Maybe Int
-- | The number of named child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[setExpressionResponseNamedVariables] :: SetExpressionResponse -> Maybe Int
-- | The number of indexed child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[setExpressionResponseIndexedVariables] :: SetExpressionResponse -> Maybe Int
data SetVariableResponse
SetVariableResponse :: Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Int -> SetVariableResponse
-- | The new value of the variable.
[setVariableResponseValue] :: SetVariableResponse -> Text
-- | The type of the new value. Typically shown in the UI when hovering
-- over the value.
[setVariableResponseType] :: SetVariableResponse -> Maybe Text
-- | If variablesReference is > 0, the new value is structured
-- and its children can be retrieved by passing
-- variablesReference to the variables request as long as
-- execution remains suspended. See 'Lifetime of Object References' in
-- the Overview section for details.
[setVariableResponseReference] :: SetVariableResponse -> Maybe Int
-- | The number of named child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[setVariableResponseNamedVariables] :: SetVariableResponse -> Maybe Int
-- | The number of indexed child variables. The client can use this
-- information to present the variables in a paged UI and fetch them in
-- chunks. The value should be less than or equal to 2147483647 (2^31-1).
[setVariableResponseIndexedVariables] :: SetVariableResponse -> Maybe Int
data SourceResponse
SourceResponse :: Text -> Maybe Text -> SourceResponse
-- | Content of the source reference.
[sourceResponseContent] :: SourceResponse -> Text
-- | Content type (MIME type) of the source.
[sourceResponseMimeType] :: SourceResponse -> Maybe Text
data StackTraceResponse
StackTraceResponse :: [StackFrame] -> Maybe Int -> StackTraceResponse
-- | The frames of the stack frame. If the array has length zero, there are
-- no stack frames available. This means that there is no location
-- information available.
[stackFrames] :: StackTraceResponse -> [StackFrame]
-- | The total number of frames available in the stack. If omitted or if
-- totalFrames is larger than the available frames, a client is
-- expected to request frames until a request returns less frames than
-- requested (which indicates the end of the stack). Returning
-- monotonically increasing totalFrames values for subsequent
-- requests can be used to enforce paging in the client.
[totalFrames] :: StackTraceResponse -> Maybe Int
data StepInTargetsResponse
StepInTargetsResponse :: [StepInTarget] -> StepInTargetsResponse
-- | The possible step-in targets of the specified source location.
[stepInTargetsResponseTargets] :: StepInTargetsResponse -> [StepInTarget]
newtype ThreadsResponse
ThreadsResponse :: [Thread] -> ThreadsResponse
-- | All threads.
[threads] :: ThreadsResponse -> [Thread]
data VariablesResponse
VariablesResponse :: [Variable] -> VariablesResponse
-- | All (or a range) of variables for the given variable reference.
[variables] :: VariablesResponse -> [Variable]
data WriteMemoryResponse
WriteMemoryResponse :: Maybe Int -> Maybe Int -> WriteMemoryResponse
-- | Property that should be returned when allowPartial is true to
-- indicate the offset of the first byte of data successfully written.
-- Can be negative.
[writeMemoryResponseOffset] :: WriteMemoryResponse -> Maybe Int
-- | Property that should be returned when allowPartial is true to
-- indicate the number of bytes starting from address that were
-- successfully written.
[writeMemoryResponseBytesWritten] :: WriteMemoryResponse -> Maybe Int
data AttachRequestArguments
AttachRequestArguments :: Maybe Value -> AttachRequestArguments
-- | Arbitrary data from the previous, restarted session. The data is sent
-- as the restart attribute of the terminated event.
-- The client should leave the data intact.
[attachRequestArgumentsRestart] :: AttachRequestArguments -> Maybe Value
data BreakpointLocationsArguments
BreakpointLocationsArguments :: Source -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocationsArguments
-- | The source location of the breakpoints; either `source.path` or
-- `source.reference` must be specified.
[breakpointLocationsArgumentsSource] :: BreakpointLocationsArguments -> Source
-- | Start line of range to search possible breakpoint locations in. If
-- only the line is specified, the request returns all possible locations
-- in that line.
[breakpointLocationsArgumentsLine] :: BreakpointLocationsArguments -> Int
-- | Start position within line to search possible breakpoint
-- locations in. It is measured in UTF-16 code units and the client
-- capability columnsStartAt1 determines whether it is 0- or
-- 1-based. If no column is given, the first position in the start line
-- is assumed.
[breakpointLocationsArgumentsColumn] :: BreakpointLocationsArguments -> Maybe Int
-- | End line of range to search possible breakpoint locations in. If no
-- end line is given, then the end line is assumed to be the start line.
[breakpointLocationsArgumentsEndLine] :: BreakpointLocationsArguments -> Maybe Int
-- | End position within endLine to search possible breakpoint
-- locations in. It is measured in UTF-16 code units and the client
-- capability columnsStartAt1 determines whether it is 0- or
-- 1-based. If no end column is given, the last position in the end line
-- is assumed.
[breakpointLocationsArgumentsEndColumn] :: BreakpointLocationsArguments -> Maybe Int
data CompletionsArguments
CompletionsArguments :: Maybe Int -> Text -> Int -> Maybe Int -> CompletionsArguments
-- | Returns completions in the scope of this stack frame. If not
-- specified, the completions are returned for the global scope.
[completionsArgumentsFrameId] :: CompletionsArguments -> Maybe Int
-- | One or more source lines. Typically this is the text users have typed
-- into the debug console before they asked for completion.
[completionsArgumentsText] :: CompletionsArguments -> Text
-- | The position within text for which to determine the
-- completion proposals. It is measured in UTF-16 code units and the
-- client capability columnsStartAt1 determines whether it is 0-
-- or 1-based.
[completionsArgumentsColumn] :: CompletionsArguments -> Int
-- | A line for which to determine the completion proposals. If missing the
-- first line of the text is assumed.
[completionsArgumentsLine] :: CompletionsArguments -> Maybe Int
data ConfigurationDoneArguments
ConfigurationDoneArguments :: ConfigurationDoneArguments
data ContinueArguments
ContinueArguments :: Int -> Bool -> ContinueArguments
-- | Specifies the active thread. If the debug adapter supports single
-- thread execution (see supportsSingleThreadExecutionRequests)
-- and the argument singleThread is true, only the thread with
-- this ID is resumed.
[continueArgumentsThreadId] :: ContinueArguments -> Int
-- | If this flag is true, execution is resumed only for the thread with
-- given threadId.
[continueArgumentsSingleThread] :: ContinueArguments -> Bool
data DataBreakpointInfoArguments
DataBreakpointInfoArguments :: Maybe Int -> Text -> Maybe Int -> DataBreakpointInfoArguments
-- | Reference to the variable container if the data breakpoint is
-- requested for a child of the container. The
-- variablesReference must have been obtained in the current
-- suspended state. See 'Lifetime of Object References' in the Overview
-- section for details.
[dataBreakpointInfoArgumentsVariablesReference] :: DataBreakpointInfoArguments -> Maybe Int
-- | The name of the variable's child to obtain data breakpoint information
-- for. If variablesReference isn't specified, this can be an
-- expression.
[dataBreakpointInfoArgumentsName] :: DataBreakpointInfoArguments -> Text
-- | When name is an expression, evaluate it in the scope of this
-- stack frame. If not specified, the expression is evaluated in the
-- global scope. When variablesReference is specified, this
-- property has no effect.
[dataBreakpointInfoArgumentsFrameId] :: DataBreakpointInfoArguments -> Maybe Int
data DisassembleArguments
DisassembleArguments :: Text -> Maybe Int -> Maybe Int -> Int -> Bool -> DisassembleArguments
-- | Memory reference to the base location containing the instructions to
-- disassemble.
[disassembleArgumentsMemoryReference] :: DisassembleArguments -> Text
-- | Offset (in bytes) to be applied to the reference location before
-- disassembling. Can be negative.
[disassembleArgumentsOffset] :: DisassembleArguments -> Maybe Int
-- | Offset (in instructions) to be applied after the byte offset (if any)
-- before disassembling. Can be negative.
[disassembleArgumentsInstructionOffset] :: DisassembleArguments -> Maybe Int
-- | Number of instructions to disassemble starting at the specified
-- location and offset. An adapter must return exactly this number of
-- instructions - any unavailable instructions should be replaced with an
-- implementation-defined 'invalid instruction' value.
[disassembleArgumentsInstructionCount] :: DisassembleArguments -> Int
-- | If true, the adapter should attempt to resolve memory addresses and
-- other values to symbolic names.
[disassembleArgumentsResolveSymbols] :: DisassembleArguments -> Bool
data DisconnectArguments
DisconnectArguments :: Bool -> Bool -> Bool -> DisconnectArguments
-- | A value of true indicates that this disconnect request is
-- part of a restart sequence.
[disconnectArgumentsRestart] :: DisconnectArguments -> Bool
-- | Indicates whether the debuggee should be terminated when the debugger
-- is disconnected. If unspecified, the debug adapter is free to do
-- whatever it thinks is best. The attribute is only honored by a debug
-- adapter if the corresponding capability
-- supportTerminateDebuggee is true.
[disconnectArgumentsTerminateDebuggee] :: DisconnectArguments -> Bool
-- | Indicates whether the debuggee should stay suspended when the debugger
-- is disconnected. If unspecified, the debuggee should resume execution.
-- The attribute is only honored by a debug adapter if the corresponding
-- capability supportSuspendDebuggee is true.
[disconnectArgumentsSuspendDebuggee] :: DisconnectArguments -> Bool
data EvaluateArguments
EvaluateArguments :: Text -> Maybe Int -> Maybe EvaluateArgumentsContext -> Maybe ValueFormat -> EvaluateArguments
-- | The expression to evaluate.
[evaluateArgumentsExpression] :: EvaluateArguments -> Text
-- | Evaluate the expression in the scope of this stack frame. If not
-- specified, the expression is evaluated in the global scope.
[evaluateArgumentsFrameId] :: EvaluateArguments -> Maybe Int
-- | The context in which the evaluate request is used. Values:
-- watch: evaluate is called from a watch view context.
-- repl: evaluate is called from a REPL context. hover:
-- evaluate is called to generate the debug hover contents. This value
-- should only be used if the corresponding capability
-- supportsEvaluateForHovers is true. clipboard: evaluate
-- is called to generate clipboard contents. This value should only be
-- used if the corresponding capability supportsClipboardContext
-- is true. variables: evaluate is called from a variables view
-- context. etc.
[evaluateArgumentsContext] :: EvaluateArguments -> Maybe EvaluateArgumentsContext
-- | Specifies details on how to format the result. The attribute is only
-- honored by a debug adapter if the corresponding capability
-- supportsValueFormattingOptions is true.
[evaluateArgumentsFormat] :: EvaluateArguments -> Maybe ValueFormat
data ExceptionInfoArguments
ExceptionInfoArguments :: Int -> ExceptionInfoArguments
-- | Thread for which exception information should be retrieved.
[exceptionInfoArgumentsThreadId] :: ExceptionInfoArguments -> Int
data GotoArguments
GotoArguments :: Int -> Int -> GotoArguments
-- | Set the goto target for this thread.
[gotoArgumentsThreadId] :: GotoArguments -> Int
-- | The location where the debuggee will continue to run.
[gotoArgumentsTargetId] :: GotoArguments -> Int
data GotoTargetsArguments
GotoTargetsArguments :: Source -> Int -> Maybe Int -> GotoTargetsArguments
-- | The source location for which the goto targets are determined.
[gotoTargetsArgumentsSource] :: GotoTargetsArguments -> Source
-- | The line location for which the goto targets are determined.
[gotoTargetsArgumentsLine] :: GotoTargetsArguments -> Int
-- | The position within line for which the goto targets are
-- determined. It is measured in UTF-16 code units and the client
-- capability columnsStartAt1 determines whether it is 0- or
-- 1-based.
[gotoTargetsArgumentsColumn] :: GotoTargetsArguments -> Maybe Int
data InitializeRequestArguments
InitializeRequestArguments :: Maybe Text -> Maybe Text -> Text -> Maybe Text -> Bool -> Bool -> Maybe PathFormat -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> InitializeRequestArguments
-- | The ID of the client using this adapter.
[clientID] :: InitializeRequestArguments -> Maybe Text
-- | The human-readable name of the client using this adapter.
[clientName] :: InitializeRequestArguments -> Maybe Text
-- | The ID of the debug adapter.
[adapterID] :: InitializeRequestArguments -> Text
-- | The ISO-639 locale of the client using this adapter, e.g. en-US or
-- de-CH.
[locale] :: InitializeRequestArguments -> Maybe Text
-- | If true all line numbers are 1-based (default).
[linesStartAt1] :: InitializeRequestArguments -> Bool
-- | If true all column numbers are 1-based (default).
[columnsStartAt1] :: InitializeRequestArguments -> Bool
-- | Determines in what format paths are specified. The default is
-- path, which is the native format. Values: path,
-- uri, etc.
[pathFormat] :: InitializeRequestArguments -> Maybe PathFormat
-- | Client supports the `type` attribute for variables.
[supportsVariableType] :: InitializeRequestArguments -> Bool
-- | Client supports the paging of variables.
[supportsVariablePaging] :: InitializeRequestArguments -> Bool
-- | Client supports the runInTerminal request.
[supportsRunInTerminalRequest] :: InitializeRequestArguments -> Bool
-- | Client supports memory references.
[supportsMemoryReferences] :: InitializeRequestArguments -> Bool
-- | Client supports progress reporting.
[supportsProgressReporting] :: InitializeRequestArguments -> Bool
-- | Client supports the invalidated event.
[supportsInvalidatedEvent] :: InitializeRequestArguments -> Bool
-- | Client supports the memory event.
[supportsMemoryEvent] :: InitializeRequestArguments -> Bool
-- | Client supports the argsCanBeInterpretedByShell attribute on
-- the runInTerminal request.
[supportsArgsCanBeInterpretedByShell] :: InitializeRequestArguments -> Bool
-- | Client supports the startDebugging request.
[supportsStartDebuggingRequest] :: InitializeRequestArguments -> Bool
data LaunchRequestArguments
LaunchRequestArguments :: Bool -> Maybe Value -> LaunchRequestArguments
-- | If true, the launch request should launch the program without enabling
-- debugging.
[launchRequestArgumentsNoDebug] :: LaunchRequestArguments -> Bool
-- | Arbitrary data from the previous, restarted session. The data is sent
-- as the restart attribute of the terminated event.
-- The client should leave the data intact.
[launchRequestArgumentsRestart] :: LaunchRequestArguments -> Maybe Value
data LoadedSourcesArguments
LoadedSourcesArguments :: LoadedSourcesArguments
data ModulesArguments
ModulesArguments :: Maybe Int -> Maybe Int -> ModulesArguments
-- | The index of the first module to return; if omitted modules start at
-- 0.
[modulesArgumentsStartModule] :: ModulesArguments -> Maybe Int
-- | The number of modules to return. If moduleCount is not
-- specified or 0, all modules are returned.
[modulesArgumentsModuleCount] :: ModulesArguments -> Maybe Int
data NextArguments
NextArguments :: Int -> Maybe Bool -> Maybe SteppingGranularity -> NextArguments
-- | Specifies the thread for which to resume execution for one step (of
-- the given granularity).
[nextArgumentsThreadId] :: NextArguments -> Int
-- | If this flag is true, all other suspended threads are not resumed.
[nextArgumentsSingleThread] :: NextArguments -> Maybe Bool
-- | Stepping granularity. If no granularity is specified, a granularity of
-- statement is assumed.
[nextArgumentsGranularity] :: NextArguments -> Maybe SteppingGranularity
data PauseArguments
PauseArguments :: Int -> PauseArguments
-- | Pause execution for this thread.
[pauseArgumentsThreadId] :: PauseArguments -> Int
data ReadMemoryArguments
ReadMemoryArguments :: Text -> Maybe Int -> Int -> ReadMemoryArguments
-- | Memory reference to the base location from which data should be read.
[readMemoryArgumentsmemoryReference] :: ReadMemoryArguments -> Text
-- | Offset (in bytes) to be applied to the reference location before
-- reading data. Can be negative.
[readMemoryArgumentsOffset] :: ReadMemoryArguments -> Maybe Int
-- | Number of bytes to read at the specified location and offset.
[readMemoryArgumentsCount] :: ReadMemoryArguments -> Int
data RestartArguments
RestartArguments :: Maybe (Either LaunchRequestArguments AttachRequestArguments) -> RestartArguments
-- | The latest version of the launch or attach
-- configuration.
[restartArgumentsArguments] :: RestartArguments -> Maybe (Either LaunchRequestArguments AttachRequestArguments)
data RestartFrameArguments
RestartFrameArguments :: Int -> RestartFrameArguments
-- | Restart the stack frame identified by frameId. The
-- frameId must have been obtained in the current suspended
-- state. See 'Lifetime of Object References' in the Overview section for
-- details.
[restartFrameArgumentsFrameId] :: RestartFrameArguments -> Int
data ReverseContinueArguments
ReverseContinueArguments :: Int -> Bool -> ReverseContinueArguments
-- | Specifies the active thread. If the debug adapter supports single
-- thread execution (see supportsSingleThreadExecutionRequests)
-- and the singleThread argument is true, only the thread with
-- this ID is resumed.
[reverseContinueArgumentsThreadId] :: ReverseContinueArguments -> Int
-- | If this flag is true, backward execution is resumed only for the
-- thread with given threadId.
[reverseContinueArgumentsSingleThread] :: ReverseContinueArguments -> Bool
data ScopesArguments
ScopesArguments :: Int -> ScopesArguments
-- | Retrieve the scopes for the stack frame identified by
-- frameId. The frameId must have been obtained in the
-- current suspended state. See 'Lifetime of Object References' in the
-- Overview section for details.
[scopesArgumentsFrameId] :: ScopesArguments -> Int
data SetBreakpointsArguments
SetBreakpointsArguments :: Source -> Maybe [SourceBreakpoint] -> Maybe [Int] -> Bool -> SetBreakpointsArguments
-- | The source location of the breakpoints; either `source.path` or
-- `source.sourceReference` must be specified.
[setBreakpointsArgumentsSource] :: SetBreakpointsArguments -> Source
-- | The code locations of the breakpoints.
[setBreakpointsArgumentsBreakpoints] :: SetBreakpointsArguments -> Maybe [SourceBreakpoint]
-- | Deprecated: The code locations of the breakpoints.
[setBreakpointsArgumentsLines] :: SetBreakpointsArguments -> Maybe [Int]
-- | A value of true indicates that the underlying source has been modified
-- which results in new breakpoint locations.
[setBreakpointsArgumentsSourceModified] :: SetBreakpointsArguments -> Bool
data SetDataBreakpointsArguments
SetDataBreakpointsArguments :: [DataBreakpoint] -> SetDataBreakpointsArguments
-- | The contents of this array replaces all existing data breakpoints. An
-- empty array clears all data breakpoints.
[setDataBreakpointsArgumentsBreakpoints] :: SetDataBreakpointsArguments -> [DataBreakpoint]
data SetExceptionBreakpointsArguments
SetExceptionBreakpointsArguments :: [Text] -> Maybe ExceptionFilterOptions -> Maybe ExceptionOptions -> SetExceptionBreakpointsArguments
-- | Set of exception filters specified by their ID. The set of all
-- possible exception filters is defined by the
-- exceptionBreakpointFilters capability. The filter and
-- filterOptions sets are additive.
[setExceptionBreakpointsArgumentsFilters] :: SetExceptionBreakpointsArguments -> [Text]
-- | Set of exception filters and their options. The set of all possible
-- exception filters is defined by the exceptionBreakpointFilters
-- capability. This attribute is only honored by a debug adapter if the
-- corresponding capability supportsExceptionFilterOptions is
-- true. The filter and filterOptions sets are additive.
[setExceptionBreakpointsArgumentsFilterOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionFilterOptions
-- | Configuration options for selected exceptions. The attribute is only
-- honored by a debug adapter if the corresponding capability
-- supportsExceptionOptions is true.
[setExceptionBreakpointsArgumentsExceptionOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionOptions
data SetExpressionArguments
SetExpressionArguments :: Text -> Text -> Maybe Int -> Maybe ValueFormat -> SetExpressionArguments
-- | The l-value expression to assign to.
[setExpressionArgumentsExpression] :: SetExpressionArguments -> Text
-- | The value expression to assign to the l-value expression.
[setExpressionArgumentsValue] :: SetExpressionArguments -> Text
-- | Evaluate the expressions in the scope of this stack frame. If not
-- specified, the expressions are evaluated in the global scope.
[setExpressionArgumentsFrameId] :: SetExpressionArguments -> Maybe Int
-- | Specifies how the resulting value should be formatted.
[setExpressionArgumentsFormat] :: SetExpressionArguments -> Maybe ValueFormat
data SetFunctionBreakpointsArguments
SetFunctionBreakpointsArguments :: [FunctionBreakpoint] -> SetFunctionBreakpointsArguments
-- | The function names of the breakpoints.
[setFunctionBreakpointsArgumentsBreakpoints] :: SetFunctionBreakpointsArguments -> [FunctionBreakpoint]
data SetInstructionBreakpointsArguments
SetInstructionBreakpointsArguments :: [InstructionBreakpoint] -> SetInstructionBreakpointsArguments
-- | The instruction references of the breakpoints
[breakpoints] :: SetInstructionBreakpointsArguments -> [InstructionBreakpoint]
data SetVariableArguments
SetVariableArguments :: Int -> Text -> Text -> Maybe ValueFormat -> SetVariableArguments
-- | The reference of the variable container. The
-- variablesReference must have been obtained in the current
-- suspended state. See 'Lifetime of Object References' in the Overview
-- section for details.
[setVariableArgumentsVariablesReference] :: SetVariableArguments -> Int
-- | The name of the variable in the container.
[setVariableArgumentsName] :: SetVariableArguments -> Text
-- | The value of the variable.
[setVariableArgumentsValue] :: SetVariableArguments -> Text
-- | Specifies details on how to format the response value.
[setVariableArgumentsFormat] :: SetVariableArguments -> Maybe ValueFormat
data SourceArguments
SourceArguments :: Maybe Source -> Int -> SourceArguments
-- | Specifies the source content to load. Either `source.path` or
-- `source.sourceReference` must be specified.
[sourceArgumentsSource] :: SourceArguments -> Maybe Source
-- | The reference to the source. This is the same as
-- `source.sourceReference`. This is provided for backward compatibility
-- since old clients do not understand the source attribute.
[sourceArgumentsSourceReference] :: SourceArguments -> Int
data StackTraceArguments
StackTraceArguments :: Int -> Maybe Int -> Maybe Int -> Maybe StackFrameFormat -> StackTraceArguments
-- | Retrieve the stacktrace for this thread.
[stackTraceArgumentsThreadId] :: StackTraceArguments -> Int
-- | The index of the first frame to return; if omitted frames start at 0.
[stackTraceArgumentsStartFrame] :: StackTraceArguments -> Maybe Int
-- | The maximum number of frames to return. If levels is not specified or
-- 0, all frames are returned.
[stackTraceArgumentsLevels] :: StackTraceArguments -> Maybe Int
-- | Specifies details on how to format the stack frames. The attribute is
-- only honored by a debug adapter if the corresponding capability
-- supportsValueFormattingOptions is true.
[stackTraceArgumentsFormat] :: StackTraceArguments -> Maybe StackFrameFormat
data StepBackArguments
StepBackArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepBackArguments
-- | Specifies the thread for which to resume execution for one step
-- backwards (of the given granularity).
[stepBackArgumentsThreadId] :: StepBackArguments -> Int
-- | If this flag is true, all other suspended threads are not resumed.
[stepBackArgumentsSingleThread] :: StepBackArguments -> Bool
-- | Stepping granularity to step. If no granularity is specified, a
-- granularity of statement is assumed.
[stepBackArgumentsGranularity] :: StepBackArguments -> Maybe SteppingGranularity
data StepInArguments
StepInArguments :: Int -> Bool -> Maybe Int -> Maybe SteppingGranularity -> StepInArguments
-- | Specifies the thread for which to resume execution for one step-into
-- (of the given granularity).
[stepInArgumentsThreadId] :: StepInArguments -> Int
-- | If this flag is true, all other suspended threads are not resumed.
[stepInArgumentsSingleThread] :: StepInArguments -> Bool
-- | Id of the target to step into.
[stepInArgumentsTargetId] :: StepInArguments -> Maybe Int
-- | Stepping granularity. If no granularity is specified, a granularity of
-- statement is assumed.
[stepInArgumentsGranularity] :: StepInArguments -> Maybe SteppingGranularity
data StepInTargetsArguments
StepInTargetsArguments :: Int -> StepInTargetsArguments
-- | The stack frame for which to retrieve the possible step-in targets.
[stepInTargetsArgumentsFrameId] :: StepInTargetsArguments -> Int
data StepOutArguments
StepOutArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepOutArguments
-- | Specifies the thread for which to resume execution for one step-out
-- (of the given granularity).
[stepOutArgumentsThreadId] :: StepOutArguments -> Int
-- | If this flag is true, all other suspended threads are not resumed.
[stepOutArgumentsSingleThread] :: StepOutArguments -> Bool
-- | Stepping granularity. If no granularity is specified, a granularity of
-- statement is assumed.
[stepOutArgumentsGranularity] :: StepOutArguments -> Maybe SteppingGranularity
data TerminateArguments
TerminateArguments :: Bool -> TerminateArguments
-- | A value of true indicates that this terminate request is part
-- of a restart sequence.
[terminateArgumentsRestart] :: TerminateArguments -> Bool
newtype TerminateThreadsArguments
TerminateThreadsArguments :: [Int] -> TerminateThreadsArguments
-- | Ids of threads to be terminated.
[terminateThreadsArgumentsThreadIds] :: TerminateThreadsArguments -> [Int]
data ThreadsArguments
ThreadsArguments :: ThreadsArguments
data VariablesArguments
VariablesArguments :: Int -> Maybe VariablesFilter -> Maybe Int -> Maybe Int -> Maybe ValueFormat -> VariablesArguments
-- | The variable for which to retrieve its children. The
-- variablesReference must have been obtained in the current
-- suspended state. See 'Lifetime of Object References' in the Overview
-- section for details.
[variablesArgumentsVariablesReference] :: VariablesArguments -> Int
-- | Filter to limit the child variables to either named or indexed. If
-- omitted, both types are fetched. Values: indexed,
-- named
[variablesArgumentsFilter] :: VariablesArguments -> Maybe VariablesFilter
-- | The index of the first variable to return; if omitted children start
-- at 0.
[variablesArgumentsStart] :: VariablesArguments -> Maybe Int
-- | The number of variables to return. If count is missing or 0, all
-- variables are returned.
[variablesArgumentsCount] :: VariablesArguments -> Maybe Int
-- | Specifies details on how to format the Variable values. The attribute
-- is only honored by a debug adapter if the corresponding capability
-- supportsValueFormattingOptions is true.
[variablesArgumentsFormat] :: VariablesArguments -> Maybe ValueFormat
data WriteMemoryArguments
WriteMemoryArguments :: Text -> Maybe Int -> Bool -> Text -> WriteMemoryArguments
-- | Memory reference to the base location to which data should be written.
[writeMemoryMemoryReference] :: WriteMemoryArguments -> Text
-- | Offset (in bytes) to be applied to the reference location before
-- writing data. Can be negative.
[writeMemoryArgumentsOffset] :: WriteMemoryArguments -> Maybe Int
-- | Property to control partial writes. If true, the debug adapter should
-- attempt to write memory even if the entire memory region is not
-- writable. In such a case the debug adapter should stop after hitting
-- the first byte of memory that cannot be written and return the number
-- of bytes written in the response via the offset and
-- bytesWritten properties. If false or missing, a debug adapter
-- should attempt to verify the region is writable before writing, and
-- fail the response if it is not.
[writeMemoryArgumentsAllowPartial] :: WriteMemoryArguments -> Bool
-- | Bytes to write, encoded using base64.
[writeMemoryArgumentsData] :: WriteMemoryArguments -> Text
data RunInTerminalResponse
RunInTerminalResponse :: Maybe Int -> Maybe Int -> RunInTerminalResponse
-- | The process ID. The value should be less than or equal to 2147483647
-- (2^31-1).
[runInTerminalResponseProcessId] :: RunInTerminalResponse -> Maybe Int
-- | The process ID of the terminal shell. The value should be less than or
-- equal to 2147483647 (2^31-1).
[runInTerminalResponseShellProcessId] :: RunInTerminalResponse -> Maybe Int
defaultBreakpoint :: Breakpoint
defaultBreakpointLocation :: BreakpointLocation
defaultCapabilities :: Capabilities
defaultColumnDescriptor :: ColumnDescriptor
defaultCompletionItem :: CompletionItem
defaultDisassembledInstruction :: DisassembledInstruction
defaultExceptionBreakpointsFilter :: ExceptionBreakpointsFilter
defaultExceptionDetails :: ExceptionDetails
defaultFunctionBreakpoint :: FunctionBreakpoint
defaultGotoTarget :: GotoTarget
defaultMessage :: Message
defaultModule :: Module
defaultModulesViewDescriptor :: ModulesViewDescriptor
defaultScope :: Scope
defaultSource :: Source
defaultSourceBreakpoint :: SourceBreakpoint
defaultStackFrame :: StackFrame
defaultStackFrameFormat :: StackFrameFormat
defaultStepInTarget :: StepInTarget
defaultThread :: Thread
defaultValueFormat :: ValueFormat
defaultVariable :: Variable
defaultVariablePresentationHint :: VariablePresentationHint
data Level
DEBUG :: Level
INFO :: Level
WARN :: Level
ERROR :: Level
data DebugStatus
SENT :: DebugStatus
RECEIVED :: DebugStatus
-- | DebuggerThreadState State to hold both the thread that executes
-- the debugger and the thread used to propagate output events from the
-- debugger + debuggee to the editor (via the DAP server).
data DebuggerThreadState
DebuggerThreadState :: ThreadId -> ThreadId -> DebuggerThreadState
[debuggerThread] :: DebuggerThreadState -> ThreadId
[debuggerOutputEventThread] :: DebuggerThreadState -> ThreadId