packages feed

dap 0.1.0.0 → 0.2.0.0

raw patch · 12 files changed

+440/−309 lines, 12 filesdep +co-log-coredep ~aesondep ~bytestringdep ~mtlPVP ok

version bump matches the API change (PVP)

Dependencies added: co-log-core

Dependency ranges changed: aeson, bytestring, mtl, text

API changes (from Hackage documentation)

- DAP: Adaptor :: ExceptT (ErrorMessage, Maybe Message) (StateT (AdaptorState store) IO) a -> Adaptor store a
- DAP: AdaptorState :: MessageType -> ![Pair] -> AppStore app -> ServerConfig -> Handle -> Request -> SockAddr -> Maybe SessionId -> MVar (AdaptorState app) -> MVar () -> AdaptorState app
- DAP: Always :: ExceptionBreakMode
- DAP: AttachRequestArguments :: Maybe Value -> AttachRequestArguments
- DAP: Breakpoint :: Maybe Int -> Bool -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Int -> Breakpoint
- DAP: BreakpointEvent :: EventReason -> Breakpoint -> BreakpointEvent
- DAP: BreakpointLocation :: Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocation
- DAP: BreakpointLocationsArguments :: Source -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocationsArguments
- DAP: Breakpoints :: [breakpoint] -> Breakpoints breakpoint
- DAP: 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
- DAP: CapabilitiesEvent :: Capabilities -> CapabilitiesEvent
- DAP: Checksum :: ChecksumAlgorithm -> Text -> Checksum
- DAP: ColumnDescriptor :: String -> String -> Maybe String -> Maybe ColumnDescriptorType -> Maybe Int -> ColumnDescriptor
- DAP: ColumnDescriptorTypeBool :: ColumnDescriptorType
- DAP: ColumnDescriptorTypeInt :: ColumnDescriptorType
- DAP: ColumnDescriptorTypeString :: ColumnDescriptorType
- DAP: ColumnDescriptorTypeUTCTime :: UTCTime -> ColumnDescriptorType
- DAP: CommandAttach :: Command
- DAP: CommandBreakpointLocations :: Command
- DAP: CommandCancel :: Command
- DAP: CommandCompletions :: Command
- DAP: CommandConfigurationDone :: Command
- DAP: CommandContinue :: Command
- DAP: CommandDataBreakpointInfo :: Command
- DAP: CommandDisassemble :: Command
- DAP: CommandDisconnect :: Command
- DAP: CommandEvaluate :: Command
- DAP: CommandExceptionInfo :: Command
- DAP: CommandGoTo :: Command
- DAP: CommandGoToTargets :: Command
- DAP: CommandInitialize :: Command
- DAP: CommandLaunch :: Command
- DAP: CommandLoadedSources :: Command
- DAP: CommandModules :: Command
- DAP: CommandNext :: Command
- DAP: CommandPause :: Command
- DAP: CommandReadMemory :: Command
- DAP: CommandRestart :: Command
- DAP: CommandRestartFrame :: Command
- DAP: CommandReverseContinue :: Command
- DAP: CommandRunInTerminal :: Command
- DAP: CommandScopes :: Command
- DAP: CommandSetBreakpoints :: Command
- DAP: CommandSetDataBreakpoints :: Command
- DAP: CommandSetExceptionBreakpoints :: Command
- DAP: CommandSetExpression :: Command
- DAP: CommandSetFunctionBreakpoints :: Command
- DAP: CommandSetInstructionBreakpoints :: Command
- DAP: CommandSetVariable :: Command
- DAP: CommandSource :: Command
- DAP: CommandStackTrace :: Command
- DAP: CommandStartDebugging :: Command
- DAP: CommandStepBack :: Command
- DAP: CommandStepIn :: Command
- DAP: CommandStepInTargets :: Command
- DAP: CommandStepOut :: Command
- DAP: CommandTerminate :: Command
- DAP: CommandTerminateThreads :: Command
- DAP: CommandThreads :: Command
- DAP: CommandVariables :: Command
- DAP: CommandWriteMemory :: Command
- DAP: CompletionItem :: String -> Maybe String -> Maybe String -> Maybe String -> Maybe CompletionItemType -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> CompletionItem
- DAP: CompletionItemTypeClass :: CompletionItemType
- DAP: CompletionItemTypeColor :: CompletionItemType
- DAP: CompletionItemTypeConstructor :: CompletionItemType
- DAP: CompletionItemTypeCustomcolor :: CompletionItemType
- DAP: CompletionItemTypeEnum :: CompletionItemType
- DAP: CompletionItemTypeField :: CompletionItemType
- DAP: CompletionItemTypeFile :: CompletionItemType
- DAP: CompletionItemTypeFunction :: CompletionItemType
- DAP: CompletionItemTypeInterface :: CompletionItemType
- DAP: CompletionItemTypeKeyword :: CompletionItemType
- DAP: CompletionItemTypeMethod :: CompletionItemType
- DAP: CompletionItemTypeModule :: CompletionItemType
- DAP: CompletionItemTypeProperty :: CompletionItemType
- DAP: CompletionItemTypeReference :: CompletionItemType
- DAP: CompletionItemTypeSnippet :: CompletionItemType
- DAP: CompletionItemTypeText :: CompletionItemType
- DAP: CompletionItemTypeUnit :: CompletionItemType
- DAP: CompletionItemTypeValue :: CompletionItemType
- DAP: CompletionItemTypeVariable :: CompletionItemType
- DAP: CompletionsArguments :: Maybe Int -> Text -> Int -> Maybe Int -> CompletionsArguments
- DAP: CompletionsResponse :: [CompletionItem] -> CompletionsResponse
- DAP: ConfigurationDoneArguments :: ConfigurationDoneArguments
- DAP: ContinueArguments :: Int -> Bool -> ContinueArguments
- DAP: ContinueResponse :: Bool -> ContinueResponse
- DAP: ContinuedEvent :: Int -> Bool -> ContinuedEvent
- DAP: CustomCommand :: Text -> Command
- DAP: DEBUG :: Level
- DAP: DataBreakpoint :: Text -> Maybe DataBreakpointAccessType -> Maybe Text -> Maybe Text -> DataBreakpoint
- DAP: DataBreakpointAccessTypeRead :: DataBreakpointAccessType
- DAP: DataBreakpointAccessTypeReadWrite :: DataBreakpointAccessType
- DAP: DataBreakpointAccessTypeWrite :: DataBreakpointAccessType
- DAP: DataBreakpointInfoArguments :: Maybe Int -> Text -> Maybe Int -> DataBreakpointInfoArguments
- DAP: DataBreakpointInfoResponse :: Maybe Text -> Text -> [DataBreakpointAccessType] -> Maybe Bool -> DataBreakpointInfoResponse
- DAP: DebugSessionIdException :: String -> AdaptorException
- DAP: DebuggerException :: String -> AdaptorException
- DAP: DebuggerThreadState :: ThreadId -> ThreadId -> DebuggerThreadState
- DAP: DisassembleArguments :: Text -> Maybe Int -> Maybe Int -> Int -> Bool -> DisassembleArguments
- DAP: DisassembleResponse :: [DisassembledInstruction] -> DisassembleResponse
- DAP: DisassembledInstruction :: Text -> Maybe Text -> Text -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> DisassembledInstruction
- DAP: DisconnectArguments :: Bool -> Bool -> Bool -> DisconnectArguments
- DAP: ERROR :: Level
- DAP: ErrorMessage :: Text -> ErrorMessage
- DAP: ErrorMessageCancelled :: ErrorMessage
- DAP: ErrorMessageNotStopped :: ErrorMessage
- DAP: ErrorResponse :: Maybe Message -> ErrorResponse
- DAP: EvaluateArguments :: Text -> Maybe Int -> Maybe EvaluateArgumentsContext -> Maybe ValueFormat -> EvaluateArguments
- DAP: EvaluateArgumentsContextClipboard :: EvaluateArgumentsContext
- DAP: EvaluateArgumentsContextHover :: EvaluateArgumentsContext
- DAP: EvaluateArgumentsContextRepl :: EvaluateArgumentsContext
- DAP: EvaluateArgumentsContextVariable :: EvaluateArgumentsContext
- DAP: EvaluateArgumentsContextWatch :: EvaluateArgumentsContext
- DAP: EvaluateResponse :: Text -> Text -> Maybe VariablePresentationHint -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> EvaluateResponse
- DAP: EventGroupEnd :: EventGroup
- DAP: EventGroupStart :: EventGroup
- DAP: EventGroupStartCollapsed :: EventGroup
- DAP: EventReason :: Text -> EventReason
- DAP: EventReasonChanged :: EventReason
- DAP: EventReasonNew :: EventReason
- DAP: EventReasonRemoved :: EventReason
- DAP: EventTypeBreakpoint :: EventType
- DAP: EventTypeCapabilities :: EventType
- DAP: EventTypeContinued :: EventType
- DAP: EventTypeExited :: EventType
- DAP: EventTypeInitialized :: EventType
- DAP: EventTypeInvalidated :: EventType
- DAP: EventTypeLoadedSource :: EventType
- DAP: EventTypeMemory :: EventType
- DAP: EventTypeModule :: EventType
- DAP: EventTypeOutput :: EventType
- DAP: EventTypeProcess :: EventType
- DAP: EventTypeProgressEnd :: EventType
- DAP: EventTypeProgressStart :: EventType
- DAP: EventTypeProgressUpdate :: EventType
- DAP: EventTypeStopped :: EventType
- DAP: EventTypeTerminated :: EventType
- DAP: EventTypeThread :: EventType
- DAP: ExceptionBreakpointsFilter :: Text -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> ExceptionBreakpointsFilter
- DAP: ExceptionDetails :: Maybe String -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExceptionDetails] -> ExceptionDetails
- DAP: ExceptionFilterOptions :: String -> Maybe String -> ExceptionFilterOptions
- DAP: ExceptionInfoArguments :: Int -> ExceptionInfoArguments
- DAP: ExceptionInfoResponse :: Text -> Maybe Text -> ExceptionBreakMode -> Maybe ExceptionDetails -> ExceptionInfoResponse
- DAP: ExceptionOptions :: Maybe [ExceptionPathSegment] -> ExceptionBreakMode -> ExceptionOptions
- DAP: ExceptionPathSegment :: Maybe Bool -> [String] -> ExceptionPathSegment
- DAP: ExitedEvent :: Int -> ExitedEvent
- DAP: ExpectedArguments :: String -> AdaptorException
- DAP: FunctionBreakpoint :: Maybe Text -> Maybe Text -> Maybe Text -> FunctionBreakpoint
- DAP: GotoArguments :: Int -> Int -> GotoArguments
- DAP: GotoTarget :: Int -> String -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe String -> GotoTarget
- DAP: GotoTargetsArguments :: Source -> Int -> Maybe Int -> GotoTargetsArguments
- DAP: GotoTargetsResponse :: [GotoTarget] -> GotoTargetsResponse
- DAP: INFO :: Level
- DAP: InitializeRequestArguments :: Maybe Text -> Maybe Text -> Text -> Maybe Text -> Bool -> Bool -> Maybe PathFormat -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> InitializeRequestArguments
- DAP: InstructionBreakpoint :: Text -> Maybe Int -> Maybe Text -> Maybe Text -> InstructionBreakpoint
- DAP: InvalidatedAreasAll :: InvalidatedAreas
- DAP: InvalidatedAreasStacks :: InvalidatedAreas
- DAP: InvalidatedAreasThreads :: InvalidatedAreas
- DAP: InvalidatedAreasVariables :: InvalidatedAreas
- DAP: InvalidatedEvent :: [InvalidatedAreas] -> Maybe Int -> Maybe Int -> InvalidatedEvent
- DAP: LaunchRequestArguments :: Bool -> Maybe Value -> LaunchRequestArguments
- DAP: LoadedSourceEvent :: EventReason -> Source -> LoadedSourceEvent
- DAP: LoadedSourcesArguments :: LoadedSourcesArguments
- DAP: LoadedSourcesResponse :: [Source] -> LoadedSourcesResponse
- DAP: MD5 :: ChecksumAlgorithm
- DAP: MemoryEvent :: Text -> Int -> Int -> MemoryEvent
- DAP: Message :: Int -> Text -> Maybe (HashMap Text Text) -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Message
- DAP: MessageTypeEvent :: MessageType
- DAP: MessageTypeRequest :: MessageType
- DAP: MessageTypeResponse :: MessageType
- DAP: Module :: Either Text Int -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Module
- DAP: ModuleEvent :: EventReason -> Module -> ModuleEvent
- DAP: ModulesArguments :: Maybe Int -> Maybe Int -> ModulesArguments
- DAP: ModulesResponse :: [Module] -> Maybe Int -> ModulesResponse
- DAP: ModulesViewDescriptor :: [ColumnDescriptor] -> ModulesViewDescriptor
- DAP: Never :: ExceptionBreakMode
- DAP: NextArguments :: Int -> Maybe Bool -> Maybe SteppingGranularity -> NextArguments
- DAP: OutputEvent :: Maybe OutputEventCategory -> Text -> Maybe EventGroup -> Maybe Int -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Value -> OutputEvent
- DAP: ParseException :: String -> AdaptorException
- DAP: Path :: PathFormat
- DAP: PathFormat :: Text -> PathFormat
- DAP: PauseArguments :: Int -> PauseArguments
- DAP: PresentationHintAttributes :: String -> PresentationHintAttributes
- DAP: PresentationHintAttributesCanHaveObjectId :: PresentationHintAttributes
- DAP: PresentationHintAttributesConstant :: PresentationHintAttributes
- DAP: PresentationHintAttributesHasDataBreakpoint :: PresentationHintAttributes
- DAP: PresentationHintAttributesHasObjectId :: PresentationHintAttributes
- DAP: PresentationHintAttributesHasSideEffects :: PresentationHintAttributes
- DAP: PresentationHintAttributesRawText :: PresentationHintAttributes
- DAP: PresentationHintAttributesReadOnly :: PresentationHintAttributes
- DAP: PresentationHintAttributesStatic :: PresentationHintAttributes
- DAP: PresentationHintKind :: Text -> PresentationHintKind
- DAP: PresentationHintKindBaseClass :: PresentationHintKind
- DAP: PresentationHintKindClass :: PresentationHintKind
- DAP: PresentationHintKindData :: PresentationHintKind
- DAP: PresentationHintKindDataBreakpoint :: PresentationHintKind
- DAP: PresentationHintKindEvent :: PresentationHintKind
- DAP: PresentationHintKindInnerClass :: PresentationHintKind
- DAP: PresentationHintKindInterface :: PresentationHintKind
- DAP: PresentationHintKindMethod :: PresentationHintKind
- DAP: PresentationHintKindMostDerivedClass :: PresentationHintKind
- DAP: PresentationHintKindProperty :: PresentationHintKind
- DAP: PresentationHintKindVirtual :: PresentationHintKind
- DAP: PresentationHintLabel :: PresentationHint
- DAP: PresentationHintNormal :: PresentationHint
- DAP: PresentationHintSubtle :: PresentationHint
- DAP: PresentationHintVisibility :: String -> PresentationHintVisibility
- DAP: PresentationHintVisibilityFinal :: PresentationHintVisibility
- DAP: PresentationHintVisibilityInternal :: PresentationHintVisibility
- DAP: PresentationHintVisibilityPrivate :: PresentationHintVisibility
- DAP: PresentationHintVisibilityProtected :: PresentationHintVisibility
- DAP: PresentationHintVisibilityPublic :: PresentationHintVisibility
- DAP: ProcessEvent :: Text -> Maybe Int -> Bool -> Maybe StartMethod -> Maybe Int -> ProcessEvent
- DAP: ProgressEndEvent :: Text -> Maybe Text -> ProgressEndEvent
- DAP: ProgressStartEvent :: Text -> Text -> Maybe Int -> Bool -> Maybe Text -> Maybe Int -> ProgressStartEvent
- DAP: ProgressUpdateEvent :: Text -> Maybe Text -> Maybe Int -> ProgressUpdateEvent
- DAP: RECEIVED :: DebugStatus
- DAP: ReadMemoryArguments :: Text -> Maybe Int -> Int -> ReadMemoryArguments
- DAP: ReadMemoryResponse :: Int -> Text -> Maybe Int -> Maybe Text -> ReadMemoryResponse
- DAP: Request :: Maybe Value -> Seq -> Command -> Request
- DAP: RestartArguments :: Maybe (Either LaunchRequestArguments AttachRequestArguments) -> RestartArguments
- DAP: RestartFrameArguments :: Int -> RestartFrameArguments
- DAP: ReverseContinueArguments :: Int -> Bool -> ReverseContinueArguments
- DAP: RunInTerminalResponse :: Maybe Int -> Maybe Int -> RunInTerminalResponse
- DAP: SENT :: DebugStatus
- DAP: SHA1 :: ChecksumAlgorithm
- DAP: SHA256 :: ChecksumAlgorithm
- DAP: Scope :: Text -> Maybe ScopePresentationHint -> Int -> Maybe Int -> Maybe Int -> Bool -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Scope
- DAP: ScopePresentationHint :: Text -> ScopePresentationHint
- DAP: ScopePresentationHintArguments :: ScopePresentationHint
- DAP: ScopePresentationHintLocals :: ScopePresentationHint
- DAP: ScopePresentationHintRegisters :: ScopePresentationHint
- DAP: ScopesArguments :: Int -> ScopesArguments
- DAP: ScopesResponse :: [Scope] -> ScopesResponse
- DAP: ServerConfig :: String -> Int -> Capabilities -> Bool -> ServerConfig
- DAP: SetBreakpointsArguments :: Source -> Maybe [SourceBreakpoint] -> Maybe [Int] -> Bool -> SetBreakpointsArguments
- DAP: SetDataBreakpointsArguments :: [DataBreakpoint] -> SetDataBreakpointsArguments
- DAP: SetExceptionBreakpointsArguments :: [Text] -> Maybe ExceptionFilterOptions -> Maybe ExceptionOptions -> SetExceptionBreakpointsArguments
- DAP: SetExpressionArguments :: Text -> Text -> Maybe Int -> Maybe ValueFormat -> SetExpressionArguments
- DAP: SetExpressionResponse :: Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Int -> Maybe Int -> Maybe Int -> SetExpressionResponse
- DAP: SetFunctionBreakpointsArguments :: [FunctionBreakpoint] -> SetFunctionBreakpointsArguments
- DAP: SetInstructionBreakpointsArguments :: [InstructionBreakpoint] -> SetInstructionBreakpointsArguments
- DAP: SetVariableArguments :: Int -> Text -> Text -> Maybe ValueFormat -> SetVariableArguments
- DAP: SetVariableResponse :: Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Int -> SetVariableResponse
- DAP: Source :: Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourcePresentationHint -> Maybe Text -> Maybe [Source] -> Maybe Value -> Maybe [Checksum] -> Source
- DAP: SourceArguments :: Maybe Source -> Int -> SourceArguments
- DAP: SourceBreakpoint :: Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> SourceBreakpoint
- DAP: SourcePresentationHintDeemphasize :: SourcePresentationHint
- DAP: SourcePresentationHintEmphasize :: SourcePresentationHint
- DAP: SourcePresentationHintNormal :: SourcePresentationHint
- DAP: SourceResponse :: Text -> Maybe Text -> SourceResponse
- DAP: StackFrame :: Int -> Text -> Maybe Source -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe (Either Int Text) -> Maybe PresentationHint -> StackFrame
- DAP: StackFrameFormat :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> StackFrameFormat
- DAP: StackTraceArguments :: Int -> Maybe Int -> Maybe Int -> Maybe StackFrameFormat -> StackTraceArguments
- DAP: StackTraceResponse :: [StackFrame] -> Maybe Int -> StackTraceResponse
- DAP: StartMethodAttach :: StartMethod
- DAP: StartMethodAttachForSuspendedLaunch :: StartMethod
- DAP: StartMethodLaunch :: StartMethod
- DAP: StepBackArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepBackArguments
- DAP: StepInArguments :: Int -> Bool -> Maybe Int -> Maybe SteppingGranularity -> StepInArguments
- DAP: StepInTarget :: Int -> Text -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> StepInTarget
- DAP: StepInTargetsArguments :: Int -> StepInTargetsArguments
- DAP: StepInTargetsResponse :: [StepInTarget] -> StepInTargetsResponse
- DAP: StepOutArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepOutArguments
- DAP: SteppingGranularityInstruction :: SteppingGranularity
- DAP: SteppingGranularityLine :: SteppingGranularity
- DAP: SteppingGranularityStatement :: SteppingGranularity
- DAP: StoppedEvent :: StoppedEventReason -> Maybe Text -> Maybe Int -> Bool -> Maybe Text -> Bool -> [Int] -> StoppedEvent
- DAP: StoppedEventReasonBreakpoint :: StoppedEventReason
- DAP: StoppedEventReasonDataBreakpoint :: StoppedEventReason
- DAP: StoppedEventReasonEntry :: StoppedEventReason
- DAP: StoppedEventReasonException :: StoppedEventReason
- DAP: StoppedEventReasonFunctionBreakpoint :: StoppedEventReason
- DAP: StoppedEventReasonGoto :: StoppedEventReason
- DAP: StoppedEventReasonInstructionBreakpoint :: StoppedEventReason
- DAP: StoppedEventReasonPause :: StoppedEventReason
- DAP: StoppedEventReasonStep :: StoppedEventReason
- DAP: TerminateArguments :: Bool -> TerminateArguments
- DAP: TerminateThreadsArguments :: [Int] -> TerminateThreadsArguments
- DAP: TerminatedEvent :: Bool -> TerminatedEvent
- DAP: Thread :: Int -> Text -> Thread
- DAP: ThreadEvent :: ThreadEventReason -> Int -> ThreadEvent
- DAP: ThreadEventReason :: Text -> ThreadEventReason
- DAP: ThreadEventReasonExited :: ThreadEventReason
- DAP: ThreadEventReasonStarted :: ThreadEventReason
- DAP: ThreadsArguments :: ThreadsArguments
- DAP: ThreadsResponse :: [Thread] -> ThreadsResponse
- DAP: TimeStamp :: UTCTime -> ChecksumAlgorithm
- DAP: URI :: PathFormat
- DAP: Unhandled :: ExceptionBreakMode
- DAP: UserUnhandled :: ExceptionBreakMode
- DAP: ValueFormat :: Maybe Bool -> ValueFormat
- DAP: Variable :: Text -> Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Text -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> Variable
- DAP: VariablePresentationHint :: Maybe PresentationHintKind -> Maybe [PresentationHintAttributes] -> Maybe PresentationHintVisibility -> Maybe Bool -> VariablePresentationHint
- DAP: VariablesArguments :: Int -> Maybe VariablesFilter -> Maybe Int -> Maybe Int -> Maybe ValueFormat -> VariablesArguments
- DAP: VariablesResponse :: [Variable] -> VariablesResponse
- DAP: WARN :: Level
- DAP: WriteMemoryArguments :: Text -> Maybe Int -> Bool -> Text -> WriteMemoryArguments
- DAP: WriteMemoryResponse :: Maybe Int -> Maybe Int -> WriteMemoryResponse
- DAP: [adapterID] :: InitializeRequestArguments -> Text
- DAP: [adaptorStateMVar] :: AdaptorState app -> MVar (AdaptorState app)
- DAP: [additionalModuleColumns] :: Capabilities -> [ColumnDescriptor]
- DAP: [address] :: AdaptorState app -> SockAddr
- DAP: [algorithm] :: Checksum -> ChecksumAlgorithm
- DAP: [appStore] :: AdaptorState app -> AppStore app
- DAP: [args] :: Request -> Maybe Value
- DAP: [attachRequestArgumentsRestart] :: AttachRequestArguments -> Maybe Value
- DAP: [breakpointColumn] :: Breakpoint -> Maybe Int
- DAP: [breakpointEndColumn] :: Breakpoint -> Maybe Int
- DAP: [breakpointEndLine] :: Breakpoint -> Maybe Int
- DAP: [breakpointEventReason] :: BreakpointEvent -> EventReason
- DAP: [breakpointEvevntBreakpoint] :: BreakpointEvent -> Breakpoint
- DAP: [breakpointId] :: Breakpoint -> Maybe Int
- DAP: [breakpointInstructionReference] :: Breakpoint -> Maybe Text
- DAP: [breakpointLine] :: Breakpoint -> Maybe Int
- DAP: [breakpointLocationColumn] :: BreakpointLocation -> Maybe Int
- DAP: [breakpointLocationEndColumn] :: BreakpointLocation -> Maybe Int
- DAP: [breakpointLocationEndLine] :: BreakpointLocation -> Maybe Int
- DAP: [breakpointLocationLine] :: BreakpointLocation -> Int
- DAP: [breakpointLocationsArgumentsColumn] :: BreakpointLocationsArguments -> Maybe Int
- DAP: [breakpointLocationsArgumentsEndColumn] :: BreakpointLocationsArguments -> Maybe Int
- DAP: [breakpointLocationsArgumentsEndLine] :: BreakpointLocationsArguments -> Maybe Int
- DAP: [breakpointLocationsArgumentsLine] :: BreakpointLocationsArguments -> Int
- DAP: [breakpointLocationsArgumentsSource] :: BreakpointLocationsArguments -> Source
- DAP: [breakpointMessage] :: Breakpoint -> Maybe Text
- DAP: [breakpointOffset] :: Breakpoint -> Maybe Int
- DAP: [breakpointSource] :: Breakpoint -> Maybe Source
- DAP: [breakpointVerified] :: Breakpoint -> Bool
- DAP: [breakpoints] :: SetInstructionBreakpointsArguments -> [InstructionBreakpoint]
- DAP: [capabilities] :: CapabilitiesEvent -> Capabilities
- DAP: [checksum] :: Checksum -> Text
- DAP: [clientID] :: InitializeRequestArguments -> Maybe Text
- DAP: [clientName] :: InitializeRequestArguments -> Maybe Text
- DAP: [columnDescriptorAttributeName] :: ColumnDescriptor -> String
- DAP: [columnDescriptorFormat] :: ColumnDescriptor -> Maybe String
- DAP: [columnDescriptorLabel] :: ColumnDescriptor -> String
- DAP: [columnDescriptorType] :: ColumnDescriptor -> Maybe ColumnDescriptorType
- DAP: [columnDescriptorWidth] :: ColumnDescriptor -> Maybe Int
- DAP: [columnsStartAt1] :: InitializeRequestArguments -> Bool
- DAP: [command] :: Request -> Command
- DAP: [completionItemDetail] :: CompletionItem -> Maybe String
- DAP: [completionItemLabel] :: CompletionItem -> String
- DAP: [completionItemSortText] :: CompletionItem -> Maybe String
- DAP: [completionItemText] :: CompletionItem -> Maybe String
- DAP: [completionItemTypeLength] :: CompletionItem -> Maybe Int
- DAP: [completionItemTypeSelectionLength] :: CompletionItem -> Maybe Int
- DAP: [completionItemTypeSelectionStart] :: CompletionItem -> Maybe Int
- DAP: [completionItemTypeStart] :: CompletionItem -> Maybe Int
- DAP: [completionItemType] :: CompletionItem -> Maybe CompletionItemType
- DAP: [completionResponseTargets] :: CompletionsResponse -> [CompletionItem]
- DAP: [completionTriggerCharacters] :: Capabilities -> [Text]
- DAP: [completionsArgumentsColumn] :: CompletionsArguments -> Int
- DAP: [completionsArgumentsFrameId] :: CompletionsArguments -> Maybe Int
- DAP: [completionsArgumentsLine] :: CompletionsArguments -> Maybe Int
- DAP: [completionsArgumentsText] :: CompletionsArguments -> Text
- DAP: [condition] :: DataBreakpoint -> Maybe Text
- DAP: [continueArgumentsSingleThread] :: ContinueArguments -> Bool
- DAP: [continueArgumentsThreadId] :: ContinueArguments -> Int
- DAP: [continueResponseAllThreadsContinued] :: ContinueResponse -> Bool
- DAP: [continuedEventAllThreadsContinued] :: ContinuedEvent -> Bool
- DAP: [continuedEventThreadId] :: ContinuedEvent -> Int
- DAP: [dataBreakpointAccessType] :: DataBreakpoint -> Maybe DataBreakpointAccessType
- DAP: [dataBreakpointDataId] :: DataBreakpoint -> Text
- DAP: [dataBreakpointInfoArgumentsFrameId] :: DataBreakpointInfoArguments -> Maybe Int
- DAP: [dataBreakpointInfoArgumentsName] :: DataBreakpointInfoArguments -> Text
- DAP: [dataBreakpointInfoArgumentsVariablesReference] :: DataBreakpointInfoArguments -> Maybe Int
- DAP: [dataBreakpointInfoResponseDataId] :: DataBreakpointInfoResponse -> Maybe Text
- DAP: [dataBreakpointInfoResponseDescriptionAccessTypes] :: DataBreakpointInfoResponse -> [DataBreakpointAccessType]
- DAP: [dataBreakpointInfoResponseDescriptionCanPersist] :: DataBreakpointInfoResponse -> Maybe Bool
- DAP: [dataBreakpointInfoResponseDescription] :: DataBreakpointInfoResponse -> Text
- DAP: [debugLogging] :: ServerConfig -> Bool
- DAP: [debuggerOutputEventThread] :: DebuggerThreadState -> ThreadId
- DAP: [debuggerThread] :: DebuggerThreadState -> ThreadId
- DAP: [disassembleArgumentsInstructionCount] :: DisassembleArguments -> Int
- DAP: [disassembleArgumentsInstructionOffset] :: DisassembleArguments -> Maybe Int
- DAP: [disassembleArgumentsMemoryReference] :: DisassembleArguments -> Text
- DAP: [disassembleArgumentsOffset] :: DisassembleArguments -> Maybe Int
- DAP: [disassembleArgumentsResolveSymbols] :: DisassembleArguments -> Bool
- DAP: [disassembleResponseInstructions] :: DisassembleResponse -> [DisassembledInstruction]
- DAP: [disassembledInstructionAddress] :: DisassembledInstruction -> Text
- DAP: [disassembledInstructionColumn] :: DisassembledInstruction -> Maybe Int
- DAP: [disassembledInstructionEndColumn] :: DisassembledInstruction -> Maybe Int
- DAP: [disassembledInstructionEndLine] :: DisassembledInstruction -> Maybe Int
- DAP: [disassembledInstructionInstructionBytes] :: DisassembledInstruction -> Maybe Text
- DAP: [disassembledInstructionInstruction] :: DisassembledInstruction -> Text
- DAP: [disassembledInstructionLine] :: DisassembledInstruction -> Maybe Int
- DAP: [disassembledInstructionLocation] :: DisassembledInstruction -> Maybe Source
- DAP: [disassembledInstructionSymbol] :: DisassembledInstruction -> Maybe Text
- DAP: [disconnectArgumentsRestart] :: DisconnectArguments -> Bool
- DAP: [disconnectArgumentsSuspendDebuggee] :: DisconnectArguments -> Bool
- DAP: [disconnectArgumentsTerminateDebuggee] :: DisconnectArguments -> Bool
- DAP: [errorResponseError] :: ErrorResponse -> Maybe Message
- DAP: [evaluateArgumentsContext] :: EvaluateArguments -> Maybe EvaluateArgumentsContext
- DAP: [evaluateArgumentsExpression] :: EvaluateArguments -> Text
- DAP: [evaluateArgumentsFormat] :: EvaluateArguments -> Maybe ValueFormat
- DAP: [evaluateArgumentsFrameId] :: EvaluateArguments -> Maybe Int
- DAP: [evaluateResponseIndexedVariables] :: EvaluateResponse -> Maybe Int
- DAP: [evaluateResponseMemoryReference] :: EvaluateResponse -> Maybe Text
- DAP: [evaluateResponseNamedVariables] :: EvaluateResponse -> Maybe Int
- DAP: [evaluateResponsePresentationHint] :: EvaluateResponse -> Maybe VariablePresentationHint
- DAP: [evaluateResponseResult] :: EvaluateResponse -> Text
- DAP: [evaluateResponseType] :: EvaluateResponse -> Text
- DAP: [evaluateResponseVariablesReference] :: EvaluateResponse -> Int
- DAP: [exceptionBreakpointFilters] :: Capabilities -> [ExceptionBreakpointsFilter]
- DAP: [exceptionBreakpointsFilterConditionDescription] :: ExceptionBreakpointsFilter -> Maybe Text
- DAP: [exceptionBreakpointsFilterDefault] :: ExceptionBreakpointsFilter -> Maybe Bool
- DAP: [exceptionBreakpointsFilterDescription] :: ExceptionBreakpointsFilter -> Maybe Text
- DAP: [exceptionBreakpointsFilterFilter] :: ExceptionBreakpointsFilter -> Text
- DAP: [exceptionBreakpointsFilterLabel] :: ExceptionBreakpointsFilter -> Text
- DAP: [exceptionBreakpointsFilterSupportsCondition] :: ExceptionBreakpointsFilter -> Maybe Bool
- DAP: [exceptionDetailsEvaluateName] :: ExceptionDetails -> Maybe Text
- DAP: [exceptionDetailsFullTypeName] :: ExceptionDetails -> Maybe Text
- DAP: [exceptionDetailsInnerException] :: ExceptionDetails -> Maybe [ExceptionDetails]
- DAP: [exceptionDetailsMessage] :: ExceptionDetails -> Maybe String
- DAP: [exceptionDetailsStackTrace] :: ExceptionDetails -> Maybe Text
- DAP: [exceptionDetailstypeName] :: ExceptionDetails -> Maybe Text
- DAP: [exceptionFilterOptionsCondition] :: ExceptionFilterOptions -> Maybe String
- DAP: [exceptionFilterOptionsFilterId] :: ExceptionFilterOptions -> String
- DAP: [exceptionInfoArgumentsThreadId] :: ExceptionInfoArguments -> Int
- DAP: [exceptionInfoBreakMode] :: ExceptionInfoResponse -> ExceptionBreakMode
- DAP: [exceptionInfoDescriptionId] :: ExceptionInfoResponse -> Maybe Text
- DAP: [exceptionInfoReponseDetails] :: ExceptionInfoResponse -> Maybe ExceptionDetails
- DAP: [exceptionInfoResponseId] :: ExceptionInfoResponse -> Text
- DAP: [exceptionOptionsBreakMode] :: ExceptionOptions -> ExceptionBreakMode
- DAP: [exceptionOptionsPath] :: ExceptionOptions -> Maybe [ExceptionPathSegment]
- DAP: [exceptionPathSegmentNames] :: ExceptionPathSegment -> [String]
- DAP: [exceptionPathSegmentNegate] :: ExceptionPathSegment -> Maybe Bool
- DAP: [exitedEventExitCode] :: ExitedEvent -> Int
- DAP: [functionBreakpointCondition] :: FunctionBreakpoint -> Maybe Text
- DAP: [functionBreakpointHitCondition] :: FunctionBreakpoint -> Maybe Text
- DAP: [functionBreakpointName] :: FunctionBreakpoint -> Maybe Text
- DAP: [goToTargetsResponseTargets] :: GotoTargetsResponse -> [GotoTarget]
- DAP: [gotoArgumentsTargetId] :: GotoArguments -> Int
- DAP: [gotoArgumentsThreadId] :: GotoArguments -> Int
- DAP: [gotoTargetColumn] :: GotoTarget -> Maybe Int
- DAP: [gotoTargetEndColumn] :: GotoTarget -> Maybe Int
- DAP: [gotoTargetEndLine] :: GotoTarget -> Maybe Int
- DAP: [gotoTargetId] :: GotoTarget -> Int
- DAP: [gotoTargetInstructionPointerReference] :: GotoTarget -> Maybe String
- DAP: [gotoTargetLabel] :: GotoTarget -> String
- DAP: [gotoTargetLine] :: GotoTarget -> Int
- DAP: [gotoTargetsArgumentsColumn] :: GotoTargetsArguments -> Maybe Int
- DAP: [gotoTargetsArgumentsLine] :: GotoTargetsArguments -> Int
- DAP: [gotoTargetsArgumentsSource] :: GotoTargetsArguments -> Source
- DAP: [handleLock] :: AdaptorState app -> MVar ()
- DAP: [handle] :: AdaptorState app -> Handle
- DAP: [hitCondition] :: DataBreakpoint -> Maybe Text
- DAP: [host] :: ServerConfig -> String
- DAP: [instructionBreakpointCondition] :: InstructionBreakpoint -> Maybe Text
- DAP: [instructionBreakpointHitCondition] :: InstructionBreakpoint -> Maybe Text
- DAP: [instructionBreakpointInstructionReference] :: InstructionBreakpoint -> Text
- DAP: [instructionBreakpointOffset] :: InstructionBreakpoint -> Maybe Int
- DAP: [invalidatedEventAreas] :: InvalidatedEvent -> [InvalidatedAreas]
- DAP: [invalidatedEventStackFrameId] :: InvalidatedEvent -> Maybe Int
- DAP: [invalidatedEventThreadId] :: InvalidatedEvent -> Maybe Int
- DAP: [launchRequestArgumentsNoDebug] :: LaunchRequestArguments -> Bool
- DAP: [launchRequestArgumentsRestart] :: LaunchRequestArguments -> Maybe Value
- DAP: [linesStartAt1] :: InitializeRequestArguments -> Bool
- DAP: [loadedSourceEventReason] :: LoadedSourceEvent -> EventReason
- DAP: [loadedSourceSource] :: LoadedSourceEvent -> Source
- DAP: [loadedSourcesResponseSources] :: LoadedSourcesResponse -> [Source]
- DAP: [locale] :: InitializeRequestArguments -> Maybe Text
- DAP: [memoryEventCount] :: MemoryEvent -> Int
- DAP: [memoryEventMemoryReference] :: MemoryEvent -> Text
- DAP: [memoryEventOffset] :: MemoryEvent -> Int
- DAP: [messageFormat] :: Message -> Text
- DAP: [messageId] :: Message -> Int
- DAP: [messageSendTelemetry] :: Message -> Maybe Bool
- DAP: [messageShowUser] :: Message -> Maybe Bool
- DAP: [messageType] :: AdaptorState app -> MessageType
- DAP: [messageUrlLabel] :: Message -> Maybe Text
- DAP: [messageUrl] :: Message -> Maybe Text
- DAP: [messageVariables] :: Message -> Maybe (HashMap Text Text)
- DAP: [moduleAddressRange] :: Module -> Maybe Text
- DAP: [moduleDateTimeStamp] :: Module -> Maybe Text
- DAP: [moduleEventModule] :: ModuleEvent -> Module
- DAP: [moduleEventReason] :: ModuleEvent -> EventReason
- DAP: [moduleId] :: Module -> Either Text Int
- DAP: [moduleIsOptimized] :: Module -> Maybe Bool
- DAP: [moduleIsUserCode] :: Module -> Maybe Bool
- DAP: [moduleName] :: Module -> Text
- DAP: [modulePath] :: Module -> Maybe Text
- DAP: [moduleSymbolFilePath] :: Module -> Maybe Text
- DAP: [moduleSymbolStatus] :: Module -> Maybe Text
- DAP: [moduleVersion] :: Module -> Maybe Text
- DAP: [modulesArgumentsModuleCount] :: ModulesArguments -> Maybe Int
- DAP: [modulesArgumentsStartModule] :: ModulesArguments -> Maybe Int
- DAP: [modulesResponseModules] :: ModulesResponse -> [Module]
- DAP: [modulesResponseTotalModules] :: ModulesResponse -> Maybe Int
- DAP: [modulesViewDescriptorColumns] :: ModulesViewDescriptor -> [ColumnDescriptor]
- DAP: [nextArgumentsGranularity] :: NextArguments -> Maybe SteppingGranularity
- DAP: [nextArgumentsSingleThread] :: NextArguments -> Maybe Bool
- DAP: [nextArgumentsThreadId] :: NextArguments -> Int
- DAP: [outputEventCategory] :: OutputEvent -> Maybe OutputEventCategory
- DAP: [outputEventColumn] :: OutputEvent -> Maybe Int
- DAP: [outputEventData] :: OutputEvent -> Maybe Value
- DAP: [outputEventGroup] :: OutputEvent -> Maybe EventGroup
- DAP: [outputEventLine] :: OutputEvent -> Maybe Int
- DAP: [outputEventOutput] :: OutputEvent -> Text
- DAP: [outputEventSource] :: OutputEvent -> Maybe Source
- DAP: [outputEventVariablesReference] :: OutputEvent -> Maybe Int
- DAP: [pathFormat] :: InitializeRequestArguments -> Maybe PathFormat
- DAP: [pauseArgumentsThreadId] :: PauseArguments -> Int
- DAP: [payload] :: AdaptorState app -> ![Pair]
- DAP: [port] :: ServerConfig -> Int
- DAP: [processEventIsLocalProcess] :: ProcessEvent -> Bool
- DAP: [processEventName] :: ProcessEvent -> Text
- DAP: [processEventPointerSize] :: ProcessEvent -> Maybe Int
- DAP: [processEventStartMethod] :: ProcessEvent -> Maybe StartMethod
- DAP: [processEventSystemProcessId] :: ProcessEvent -> Maybe Int
- DAP: [progressEndEventMessage] :: ProgressEndEvent -> Maybe Text
- DAP: [progressEndEventProgressId] :: ProgressEndEvent -> Text
- DAP: [progressStartEventCancellable] :: ProgressStartEvent -> Bool
- DAP: [progressStartEventMessage] :: ProgressStartEvent -> Maybe Text
- DAP: [progressStartEventPercentage] :: ProgressStartEvent -> Maybe Int
- DAP: [progressStartEventProgressId] :: ProgressStartEvent -> Text
- DAP: [progressStartEventRequestId] :: ProgressStartEvent -> Maybe Int
- DAP: [progressStartEventTitle] :: ProgressStartEvent -> Text
- DAP: [progressUpdateEventMessage] :: ProgressUpdateEvent -> Maybe Text
- DAP: [progressUpdateEventPercentage] :: ProgressUpdateEvent -> Maybe Int
- DAP: [progressUpdateEventProgressId] :: ProgressUpdateEvent -> Text
- DAP: [readMemoryArgumentsCount] :: ReadMemoryArguments -> Int
- DAP: [readMemoryArgumentsOffset] :: ReadMemoryArguments -> Maybe Int
- DAP: [readMemoryArgumentsmemoryReference] :: ReadMemoryArguments -> Text
- DAP: [readMemoryResponseAddress] :: ReadMemoryResponse -> Text
- DAP: [readMemoryResponseBody] :: ReadMemoryResponse -> Int
- DAP: [readMemoryResponseData] :: ReadMemoryResponse -> Maybe Text
- DAP: [readMemoryResponseUnreadableBytes] :: ReadMemoryResponse -> Maybe Int
- DAP: [requestSeqNum] :: Request -> Seq
- DAP: [request] :: AdaptorState app -> Request
- DAP: [restartArgumentsArguments] :: RestartArguments -> Maybe (Either LaunchRequestArguments AttachRequestArguments)
- DAP: [restartFrameArgumentsFrameId] :: RestartFrameArguments -> Int
- DAP: [reverseContinueArgumentsSingleThread] :: ReverseContinueArguments -> Bool
- DAP: [reverseContinueArgumentsThreadId] :: ReverseContinueArguments -> Int
- DAP: [runInTerminalResponseProcessId] :: RunInTerminalResponse -> Maybe Int
- DAP: [runInTerminalResponseShellProcessId] :: RunInTerminalResponse -> Maybe Int
- DAP: [scopeColumn] :: Scope -> Maybe Int
- DAP: [scopeEndColumn] :: Scope -> Maybe Int
- DAP: [scopeEndLine] :: Scope -> Maybe Int
- DAP: [scopeExpensive] :: Scope -> Bool
- DAP: [scopeIndexedVariables] :: Scope -> Maybe Int
- DAP: [scopeLine] :: Scope -> Maybe Int
- DAP: [scopeName] :: Scope -> Text
- DAP: [scopeNamedVariables] :: Scope -> Maybe Int
- DAP: [scopePresentationHint] :: Scope -> Maybe ScopePresentationHint
- DAP: [scopeSource] :: Scope -> Maybe Source
- DAP: [scopeVariablesReference] :: Scope -> Int
- DAP: [scopesArgumentsFrameId] :: ScopesArguments -> Int
- DAP: [scopes] :: ScopesResponse -> [Scope]
- DAP: [serverCapabilities] :: ServerConfig -> Capabilities
- DAP: [serverConfig] :: AdaptorState app -> ServerConfig
- DAP: [sessionId] :: AdaptorState app -> Maybe SessionId
- DAP: [setBreakpointsArgumentsBreakpoints] :: SetBreakpointsArguments -> Maybe [SourceBreakpoint]
- DAP: [setBreakpointsArgumentsLines] :: SetBreakpointsArguments -> Maybe [Int]
- DAP: [setBreakpointsArgumentsSourceModified] :: SetBreakpointsArguments -> Bool
- DAP: [setBreakpointsArgumentsSource] :: SetBreakpointsArguments -> Source
- DAP: [setDataBreakpointsArgumentsBreakpoints] :: SetDataBreakpointsArguments -> [DataBreakpoint]
- DAP: [setExceptionBreakpointsArgumentsExceptionOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionOptions
- DAP: [setExceptionBreakpointsArgumentsFilterOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionFilterOptions
- DAP: [setExceptionBreakpointsArgumentsFilters] :: SetExceptionBreakpointsArguments -> [Text]
- DAP: [setExpressionArgumentsExpression] :: SetExpressionArguments -> Text
- DAP: [setExpressionArgumentsFormat] :: SetExpressionArguments -> Maybe ValueFormat
- DAP: [setExpressionArgumentsFrameId] :: SetExpressionArguments -> Maybe Int
- DAP: [setExpressionArgumentsValue] :: SetExpressionArguments -> Text
- DAP: [setExpressionResponseIndexedVariables] :: SetExpressionResponse -> Maybe Int
- DAP: [setExpressionResponseNamedVariables] :: SetExpressionResponse -> Maybe Int
- DAP: [setExpressionResponsePresentationHint] :: SetExpressionResponse -> Maybe VariablePresentationHint
- DAP: [setExpressionResponseType] :: SetExpressionResponse -> Maybe Text
- DAP: [setExpressionResponseValue] :: SetExpressionResponse -> Text
- DAP: [setExpressionResponseVariablesReference] :: SetExpressionResponse -> Maybe Int
- DAP: [setFunctionBreakpointsArgumentsBreakpoints] :: SetFunctionBreakpointsArguments -> [FunctionBreakpoint]
- DAP: [setVariableArgumentsFormat] :: SetVariableArguments -> Maybe ValueFormat
- DAP: [setVariableArgumentsName] :: SetVariableArguments -> Text
- DAP: [setVariableArgumentsValue] :: SetVariableArguments -> Text
- DAP: [setVariableArgumentsVariablesReference] :: SetVariableArguments -> Int
- DAP: [setVariableResponseIndexedVariables] :: SetVariableResponse -> Maybe Int
- DAP: [setVariableResponseNamedVariables] :: SetVariableResponse -> Maybe Int
- DAP: [setVariableResponseReference] :: SetVariableResponse -> Maybe Int
- DAP: [setVariableResponseType] :: SetVariableResponse -> Maybe Text
- DAP: [setVariableResponseValue] :: SetVariableResponse -> Text
- DAP: [sourceAdapterData] :: Source -> Maybe Value
- DAP: [sourceArgumentsSourceReference] :: SourceArguments -> Int
- DAP: [sourceArgumentsSource] :: SourceArguments -> Maybe Source
- DAP: [sourceBreakpointColumn] :: SourceBreakpoint -> Maybe Int
- DAP: [sourceBreakpointCondition] :: SourceBreakpoint -> Maybe Text
- DAP: [sourceBreakpointHitCondition] :: SourceBreakpoint -> Maybe Text
- DAP: [sourceBreakpointLine] :: SourceBreakpoint -> Int
- DAP: [sourceBreakpointLogMessage] :: SourceBreakpoint -> Maybe Text
- DAP: [sourceChecksums] :: Source -> Maybe [Checksum]
- DAP: [sourceName] :: Source -> Maybe Text
- DAP: [sourceOrigin] :: Source -> Maybe Text
- DAP: [sourcePath] :: Source -> Maybe Text
- DAP: [sourcePresentationHint] :: Source -> Maybe SourcePresentationHint
- DAP: [sourceResponseContent] :: SourceResponse -> Text
- DAP: [sourceResponseMimeType] :: SourceResponse -> Maybe Text
- DAP: [sourceSourceReference] :: Source -> Maybe Int
- DAP: [sourceSources] :: Source -> Maybe [Source]
- DAP: [stackFrameCanRestart] :: StackFrame -> Maybe Bool
- DAP: [stackFrameColumn] :: StackFrame -> Int
- DAP: [stackFrameEndColumn] :: StackFrame -> Maybe Int
- DAP: [stackFrameEndLine] :: StackFrame -> Maybe Int
- DAP: [stackFrameFormatHex] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatIncludeAll] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatLine] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatModule] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatParameterNames] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatParameterTypes] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatParameterValues] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameFormatParameters] :: StackFrameFormat -> Maybe Bool
- DAP: [stackFrameId] :: StackFrame -> Int
- DAP: [stackFrameInstructionPointerReference] :: StackFrame -> Maybe Text
- DAP: [stackFrameLine] :: StackFrame -> Int
- DAP: [stackFrameModuleId] :: StackFrame -> Maybe (Either Int Text)
- DAP: [stackFrameName] :: StackFrame -> Text
- DAP: [stackFramePresentationHint] :: StackFrame -> Maybe PresentationHint
- DAP: [stackFrameSource] :: StackFrame -> Maybe Source
- DAP: [stackFrames] :: StackTraceResponse -> [StackFrame]
- DAP: [stackTraceArgumentsFormat] :: StackTraceArguments -> Maybe StackFrameFormat
- DAP: [stackTraceArgumentsLevels] :: StackTraceArguments -> Maybe Int
- DAP: [stackTraceArgumentsStartFrame] :: StackTraceArguments -> Maybe Int
- DAP: [stackTraceArgumentsThreadId] :: StackTraceArguments -> Int
- DAP: [stepBackArgumentsGranularity] :: StepBackArguments -> Maybe SteppingGranularity
- DAP: [stepBackArgumentsSingleThread] :: StepBackArguments -> Bool
- DAP: [stepBackArgumentsThreadId] :: StepBackArguments -> Int
- DAP: [stepInArgumentsGranularity] :: StepInArguments -> Maybe SteppingGranularity
- DAP: [stepInArgumentsSingleThread] :: StepInArguments -> Bool
- DAP: [stepInArgumentsTargetId] :: StepInArguments -> Maybe Int
- DAP: [stepInArgumentsThreadId] :: StepInArguments -> Int
- DAP: [stepInTargetColumn] :: StepInTarget -> Maybe Int
- DAP: [stepInTargetEndColumn] :: StepInTarget -> Maybe Int
- DAP: [stepInTargetEndLine] :: StepInTarget -> Maybe Int
- DAP: [stepInTargetId] :: StepInTarget -> Int
- DAP: [stepInTargetLabel] :: StepInTarget -> Text
- DAP: [stepInTargetLine] :: StepInTarget -> Maybe Int
- DAP: [stepInTargetsArgumentsFrameId] :: StepInTargetsArguments -> Int
- DAP: [stepInTargetsResponseTargets] :: StepInTargetsResponse -> [StepInTarget]
- DAP: [stepOutArgumentsGranularity] :: StepOutArguments -> Maybe SteppingGranularity
- DAP: [stepOutArgumentsSingleThread] :: StepOutArguments -> Bool
- DAP: [stepOutArgumentsThreadId] :: StepOutArguments -> Int
- DAP: [stoppedEventAllThreadsStopped] :: StoppedEvent -> Bool
- DAP: [stoppedEventDescription] :: StoppedEvent -> Maybe Text
- DAP: [stoppedEventHitBreakpointIds] :: StoppedEvent -> [Int]
- DAP: [stoppedEventPreserveFocusHint] :: StoppedEvent -> Bool
- DAP: [stoppedEventReason] :: StoppedEvent -> StoppedEventReason
- DAP: [stoppedEventText] :: StoppedEvent -> Maybe Text
- DAP: [stoppedEventThreadId] :: StoppedEvent -> Maybe Int
- DAP: [supportSuspendDebuggee] :: Capabilities -> Bool
- DAP: [supportTerminateDebuggee] :: Capabilities -> Bool
- DAP: [supportedChecksumAlgorithms] :: Capabilities -> [ChecksumAlgorithm]
- DAP: [supportsArgsCanBeInterpretedByShell] :: InitializeRequestArguments -> Bool
- DAP: [supportsBreakpointLocationsRequest] :: Capabilities -> Bool
- DAP: [supportsCancelRequest] :: Capabilities -> Bool
- DAP: [supportsClipboardContext] :: Capabilities -> Bool
- DAP: [supportsCompletionsRequest] :: Capabilities -> Bool
- DAP: [supportsConditionalBreakpoints] :: Capabilities -> Bool
- DAP: [supportsConfigurationDoneRequest] :: Capabilities -> Bool
- DAP: [supportsDataBreakpoints] :: Capabilities -> Bool
- DAP: [supportsDelayedStackTraceLoading] :: Capabilities -> Bool
- DAP: [supportsDisassembleRequest] :: Capabilities -> Bool
- DAP: [supportsEvaluateForHovers] :: Capabilities -> Bool
- DAP: [supportsExceptionFilterOptions] :: Capabilities -> Bool
- DAP: [supportsExceptionInfoRequest] :: Capabilities -> Bool
- DAP: [supportsExceptionOptions] :: Capabilities -> Bool
- DAP: [supportsFunctionBreakpoints] :: Capabilities -> Bool
- DAP: [supportsGotoTargetsRequest] :: Capabilities -> Bool
- DAP: [supportsHitConditionalBreakpoints] :: Capabilities -> Bool
- DAP: [supportsInstructionBreakpoints] :: Capabilities -> Bool
- DAP: [supportsInvalidatedEvent] :: InitializeRequestArguments -> Bool
- DAP: [supportsLoadedSourcesRequest] :: Capabilities -> Bool
- DAP: [supportsLogPoints] :: Capabilities -> Bool
- DAP: [supportsMemoryEvent] :: InitializeRequestArguments -> Bool
- DAP: [supportsMemoryReferences] :: InitializeRequestArguments -> Bool
- DAP: [supportsModulesRequest] :: Capabilities -> Bool
- DAP: [supportsProgressReporting] :: InitializeRequestArguments -> Bool
- DAP: [supportsReadMemoryRequest] :: Capabilities -> Bool
- DAP: [supportsRestartFrame] :: Capabilities -> Bool
- DAP: [supportsRestartRequest] :: Capabilities -> Bool
- DAP: [supportsRunInTerminalRequest] :: InitializeRequestArguments -> Bool
- DAP: [supportsSetExpression] :: Capabilities -> Bool
- DAP: [supportsSetVariable] :: Capabilities -> Bool
- DAP: [supportsSingleThreadExecutionRequests] :: Capabilities -> Bool
- DAP: [supportsStartDebuggingRequest] :: InitializeRequestArguments -> Bool
- DAP: [supportsStepBack] :: Capabilities -> Bool
- DAP: [supportsStepInTargetsRequest] :: Capabilities -> Bool
- DAP: [supportsSteppingGranularity] :: Capabilities -> Bool
- DAP: [supportsTerminateRequest] :: Capabilities -> Bool
- DAP: [supportsTerminateThreadsRequest] :: Capabilities -> Bool
- DAP: [supportsValueFormattingOptions] :: Capabilities -> Bool
- DAP: [supportsVariablePaging] :: InitializeRequestArguments -> Bool
- DAP: [supportsVariableType] :: InitializeRequestArguments -> Bool
- DAP: [supportsWriteMemoryRequest] :: Capabilities -> Bool
- DAP: [terminateArgumentsRestart] :: TerminateArguments -> Bool
- DAP: [terminateThreadsArgumentsThreadIds] :: TerminateThreadsArguments -> [Int]
- DAP: [terminatedEventRestart] :: TerminatedEvent -> Bool
- DAP: [threadEventReason] :: ThreadEvent -> ThreadEventReason
- DAP: [threadEventThreadId] :: ThreadEvent -> Int
- DAP: [threadId] :: Thread -> Int
- DAP: [threadName] :: Thread -> Text
- DAP: [threads] :: ThreadsResponse -> [Thread]
- DAP: [totalFrames] :: StackTraceResponse -> Maybe Int
- DAP: [valueFormatHex] :: ValueFormat -> Maybe Bool
- DAP: [variableEvaluateName] :: Variable -> Maybe Text
- DAP: [variableIndexedVariables] :: Variable -> Maybe Int
- DAP: [variableMemoryReference] :: Variable -> Maybe Text
- DAP: [variableName] :: Variable -> Text
- DAP: [variableNamedVariables] :: Variable -> Maybe Int
- DAP: [variablePresentationHintAttributes] :: VariablePresentationHint -> Maybe [PresentationHintAttributes]
- DAP: [variablePresentationHintKind] :: VariablePresentationHint -> Maybe PresentationHintKind
- DAP: [variablePresentationHintLazy] :: VariablePresentationHint -> Maybe Bool
- DAP: [variablePresentationHintVisibility] :: VariablePresentationHint -> Maybe PresentationHintVisibility
- DAP: [variablePresentationHint] :: Variable -> Maybe VariablePresentationHint
- DAP: [variableType] :: Variable -> Maybe Text
- DAP: [variableValue] :: Variable -> Text
- DAP: [variableVariablesReference] :: Variable -> Int
- DAP: [variablesArgumentsCount] :: VariablesArguments -> Maybe Int
- DAP: [variablesArgumentsFilter] :: VariablesArguments -> Maybe VariablesFilter
- DAP: [variablesArgumentsFormat] :: VariablesArguments -> Maybe ValueFormat
- DAP: [variablesArgumentsStart] :: VariablesArguments -> Maybe Int
- DAP: [variablesArgumentsVariablesReference] :: VariablesArguments -> Int
- DAP: [variables] :: VariablesResponse -> [Variable]
- DAP: [writeMemoryArgumentsAllowPartial] :: WriteMemoryArguments -> Bool
- DAP: [writeMemoryArgumentsData] :: WriteMemoryArguments -> Text
- DAP: [writeMemoryArgumentsOffset] :: WriteMemoryArguments -> Maybe Int
- DAP: [writeMemoryMemoryReference] :: WriteMemoryArguments -> Text
- DAP: [writeMemoryResponseBytesWritten] :: WriteMemoryResponse -> Maybe Int
- DAP: [writeMemoryResponseOffset] :: WriteMemoryResponse -> Maybe Int
- DAP: data AdaptorException
- DAP: data AdaptorState app
- DAP: data AttachRequestArguments
- DAP: data Breakpoint
- DAP: data BreakpointEvent
- DAP: data BreakpointLocation
- DAP: data BreakpointLocationsArguments
- DAP: data Capabilities
- DAP: data CapabilitiesEvent
- DAP: data Checksum
- DAP: data ChecksumAlgorithm
- DAP: data ColumnDescriptor
- DAP: data ColumnDescriptorType
- DAP: data Command
- DAP: data CompletionItem
- DAP: data CompletionItemType
- DAP: data CompletionsArguments
- DAP: data CompletionsResponse
- DAP: data ConfigurationDoneArguments
- DAP: data ContinueArguments
- DAP: data ContinueResponse
- DAP: data ContinuedEvent
- DAP: data DataBreakpoint
- DAP: data DataBreakpointAccessType
- DAP: data DataBreakpointInfoArguments
- DAP: data DataBreakpointInfoResponse
- DAP: data DebugStatus
- DAP: data DebuggerThreadState
- DAP: data DisassembleArguments
- DAP: data DisassembleResponse
- DAP: data DisassembledInstruction
- DAP: data DisconnectArguments
- DAP: data ErrorMessage
- DAP: data EvaluateArguments
- DAP: data EvaluateArgumentsContext
- DAP: data EvaluateResponse
- DAP: data EventGroup
- DAP: data EventReason
- DAP: data EventType
- DAP: data ExceptionBreakMode
- DAP: data ExceptionBreakpointsFilter
- DAP: data ExceptionDetails
- DAP: data ExceptionFilterOptions
- DAP: data ExceptionInfoArguments
- DAP: data ExceptionInfoResponse
- DAP: data ExceptionOptions
- DAP: data ExceptionPathSegment
- DAP: data ExitedEvent
- DAP: data FunctionBreakpoint
- DAP: data GotoArguments
- DAP: data GotoTarget
- DAP: data GotoTargetsArguments
- DAP: data GotoTargetsResponse
- DAP: data InitializeRequestArguments
- DAP: data InstructionBreakpoint
- DAP: data InvalidatedAreas
- DAP: data InvalidatedEvent
- DAP: data LaunchRequestArguments
- DAP: data Level
- DAP: data LoadedSourceEvent
- DAP: data LoadedSourcesArguments
- DAP: data LoadedSourcesResponse
- DAP: data MemoryEvent
- DAP: data Message
- DAP: data MessageType
- DAP: data Module
- DAP: data ModuleEvent
- DAP: data ModulesArguments
- DAP: data ModulesResponse
- DAP: data ModulesViewDescriptor
- DAP: data NextArguments
- DAP: data OutputEvent
- DAP: data PathFormat
- DAP: data PauseArguments
- DAP: data PresentationHint
- DAP: data PresentationHintAttributes
- DAP: data PresentationHintKind
- DAP: data PresentationHintVisibility
- DAP: data ProcessEvent
- DAP: data ProgressEndEvent
- DAP: data ProgressStartEvent
- DAP: data ProgressUpdateEvent
- DAP: data ReadMemoryArguments
- DAP: data ReadMemoryResponse
- DAP: data Request
- DAP: data RestartArguments
- DAP: data RestartFrameArguments
- DAP: data ReverseContinueArguments
- DAP: data RunInTerminalResponse
- DAP: data Scope
- DAP: data ScopePresentationHint
- DAP: data ScopesArguments
- DAP: data ServerConfig
- DAP: data SetBreakpointsArguments
- DAP: data SetDataBreakpointsArguments
- DAP: data SetExceptionBreakpointsArguments
- DAP: data SetExpressionArguments
- DAP: data SetExpressionResponse
- DAP: data SetFunctionBreakpointsArguments
- DAP: data SetInstructionBreakpointsArguments
- DAP: data SetVariableArguments
- DAP: data SetVariableResponse
- DAP: data Source
- DAP: data SourceArguments
- DAP: data SourceBreakpoint
- DAP: data SourcePresentationHint
- DAP: data SourceResponse
- DAP: data StackFrame
- DAP: data StackFrameFormat
- DAP: data StackTraceArguments
- DAP: data StackTraceResponse
- DAP: data StartMethod
- DAP: data StepBackArguments
- DAP: data StepInArguments
- DAP: data StepInTarget
- DAP: data StepInTargetsArguments
- DAP: data StepInTargetsResponse
- DAP: data StepOutArguments
- DAP: data SteppingGranularity
- DAP: data StoppedEvent
- DAP: data StoppedEventReason
- DAP: data TerminateArguments
- DAP: data TerminatedEvent
- DAP: data Thread
- DAP: data ThreadEvent
- DAP: data ThreadEventReason
- DAP: data ThreadsArguments
- DAP: data ValueFormat
- DAP: data Variable
- DAP: data VariablePresentationHint
- DAP: data VariablesArguments
- DAP: data VariablesResponse
- DAP: data WriteMemoryArguments
- DAP: data WriteMemoryResponse
- DAP: debugMessage :: ByteString -> Adaptor app ()
- DAP: defaultBreakpoint :: Breakpoint
- DAP: defaultBreakpointLocation :: BreakpointLocation
- DAP: defaultCapabilities :: Capabilities
- DAP: defaultColumnDescriptor :: ColumnDescriptor
- DAP: defaultCompletionItem :: CompletionItem
- DAP: defaultContinuedEvent :: ContinuedEvent
- DAP: defaultDisassembledInstruction :: DisassembledInstruction
- DAP: defaultExceptionBreakpointsFilter :: ExceptionBreakpointsFilter
- DAP: defaultExceptionDetails :: ExceptionDetails
- DAP: defaultExitedEvent :: ExitedEvent
- DAP: defaultFunctionBreakpoint :: FunctionBreakpoint
- DAP: defaultGotoTarget :: GotoTarget
- DAP: defaultInvalidatedEvent :: InvalidatedEvent
- DAP: defaultMemoryEvent :: MemoryEvent
- DAP: defaultMessage :: Message
- DAP: defaultModule :: Module
- DAP: defaultModulesViewDescriptor :: ModulesViewDescriptor
- DAP: defaultOutputEvent :: OutputEvent
- DAP: defaultProcessEvent :: ProcessEvent
- DAP: defaultProgressEndEvent :: ProgressEndEvent
- DAP: defaultProgressStartEvent :: ProgressStartEvent
- DAP: defaultProgressUpdateEvent :: ProgressUpdateEvent
- DAP: defaultScope :: Scope
- DAP: defaultSource :: Source
- DAP: defaultSourceBreakpoint :: SourceBreakpoint
- DAP: defaultStackFrame :: StackFrame
- DAP: defaultStackFrameFormat :: StackFrameFormat
- DAP: defaultStepInTarget :: StepInTarget
- DAP: defaultStoppedEvent :: StoppedEvent
- DAP: defaultTerminatedEvent :: TerminatedEvent
- DAP: defaultThread :: Thread
- DAP: defaultThreadEvent :: ThreadEvent
- DAP: defaultValueFormat :: ValueFormat
- DAP: defaultVariable :: Variable
- DAP: defaultVariablePresentationHint :: VariablePresentationHint
- DAP: destroyDebugSession :: Adaptor app ()
- DAP: getArguments :: (Show value, FromJSON value) => Adaptor app value
- DAP: getDebugSession :: Adaptor a a
- DAP: getDebugSessionId :: Adaptor app SessionId
- DAP: getRequestSeqNum :: Adaptor app Seq
- DAP: getServerCapabilities :: Adaptor app Capabilities
- DAP: logError :: ByteString -> Adaptor app ()
- DAP: logInfo :: ByteString -> Adaptor app ()
- DAP: logWarn :: ByteString -> Adaptor app ()
- DAP: logger :: Level -> SockAddr -> Maybe DebugStatus -> ByteString -> IO ()
- DAP: newtype Adaptor store a
- DAP: newtype Breakpoints breakpoint
- DAP: newtype ErrorResponse
- DAP: newtype ScopesResponse
- DAP: newtype TerminateThreadsArguments
- DAP: newtype ThreadsResponse
- DAP: readPayload :: FromJSON json => Handle -> IO (Either String json)
- DAP: registerNewDebugSession :: SessionId -> app -> IO () -> ((Adaptor app () -> IO ()) -> IO ()) -> Adaptor app ()
- DAP: runAdaptorWith :: MVar (AdaptorState app) -> Adaptor app () -> IO ()
- DAP: runDAPServer :: ServerConfig -> (Command -> Adaptor app ()) -> IO ()
- DAP: send :: Adaptor app () -> Adaptor app ()
- DAP: sendAttachResponse :: Adaptor app ()
- DAP: sendBreakpointEvent :: BreakpointEvent -> Adaptor app ()
- DAP: sendBreakpointLocationsResponse :: [BreakpointLocation] -> Adaptor app ()
- DAP: sendCapabilitiesEvent :: CapabilitiesEvent -> Adaptor app ()
- DAP: sendCompletionsResponse :: CompletionsResponse -> Adaptor app ()
- DAP: sendConfigurationDoneResponse :: Adaptor app ()
- DAP: sendContinueResponse :: ContinueResponse -> Adaptor app ()
- DAP: sendContinuedEvent :: ContinuedEvent -> Adaptor app ()
- DAP: sendDataBreakpointInfoResponse :: DataBreakpointInfoResponse -> Adaptor app ()
- DAP: sendDisassembleResponse :: DisassembleResponse -> Adaptor app ()
- DAP: sendDisconnectResponse :: Adaptor app ()
- DAP: sendError :: ErrorMessage -> Maybe Message -> Adaptor app a
- DAP: sendErrorResponse :: ErrorMessage -> Maybe Message -> Adaptor app ()
- DAP: sendEvaluateResponse :: EvaluateResponse -> Adaptor app ()
- DAP: sendExceptionInfoResponse :: ExceptionInfoResponse -> Adaptor app ()
- DAP: sendExitedEvent :: ExitedEvent -> Adaptor app ()
- DAP: sendGotoResponse :: Adaptor app ()
- DAP: sendGotoTargetsResponse :: Adaptor app ()
- DAP: sendInitializeResponse :: Adaptor app ()
- DAP: sendInitializedEvent :: Adaptor app ()
- DAP: sendInvalidatedEvent :: InvalidatedEvent -> Adaptor app ()
- DAP: sendLaunchResponse :: Adaptor app ()
- DAP: sendLoadedSourceEvent :: LoadedSourceEvent -> Adaptor app ()
- DAP: sendLoadedSourcesResponse :: [Source] -> Adaptor app ()
- DAP: sendMemoryEvent :: MemoryEvent -> Adaptor app ()
- DAP: sendModuleEvent :: ModuleEvent -> Adaptor app ()
- DAP: sendModulesResponse :: ModulesResponse -> Adaptor app ()
- DAP: sendNextResponse :: Adaptor app ()
- DAP: sendOutputEvent :: OutputEvent -> Adaptor app ()
- DAP: sendPauseResponse :: Adaptor app ()
- DAP: sendProcessEvent :: ProcessEvent -> Adaptor app ()
- DAP: sendProgressEndEvent :: ProgressEndEvent -> Adaptor app ()
- DAP: sendProgressStartEvent :: ProgressStartEvent -> Adaptor app ()
- DAP: sendProgressUpdateEvent :: ProgressUpdateEvent -> Adaptor app ()
- DAP: sendRaw :: ToJSON value => value -> Adaptor app ()
- DAP: sendReadMemoryResponse :: ReadMemoryResponse -> Adaptor app ()
- DAP: sendRestartFrameResponse :: Adaptor app ()
- DAP: sendRestartResponse :: Adaptor app ()
- DAP: sendReverseContinueResponse :: Adaptor app ()
- DAP: sendRunInTerminalResponse :: RunInTerminalResponse -> Adaptor app ()
- DAP: sendScopesResponse :: ScopesResponse -> Adaptor app ()
- DAP: sendSetBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
- DAP: sendSetDataBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
- DAP: sendSetExceptionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
- DAP: sendSetExpressionResponse :: SetExpressionResponse -> Adaptor app ()
- DAP: sendSetFunctionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
- DAP: sendSetInstructionBreakpointsResponse :: [Breakpoint] -> Adaptor app ()
- DAP: sendSetVariableResponse :: SetVariableResponse -> Adaptor app ()
- DAP: sendSourceResponse :: SourceResponse -> Adaptor app ()
- DAP: sendStackTraceResponse :: StackTraceResponse -> Adaptor app ()
- DAP: sendStartDebuggingResponse :: Adaptor app ()
- DAP: sendStepBackResponse :: Adaptor app ()
- DAP: sendStepInResponse :: Adaptor app ()
- DAP: sendStepInTargetsResponse :: StepInTargetsResponse -> Adaptor app ()
- DAP: sendStepOutResponse :: Adaptor app ()
- DAP: sendStoppedEvent :: StoppedEvent -> Adaptor app ()
- DAP: sendSuccesfulEmptyResponse :: Adaptor app ()
- DAP: sendSuccesfulEvent :: EventType -> Adaptor app () -> Adaptor app ()
- DAP: sendSuccesfulResponse :: Adaptor app () -> Adaptor app ()
- DAP: sendTerminateResponse :: Adaptor app ()
- DAP: sendTerminateThreadsResponse :: Adaptor app ()
- DAP: sendTerminatedEvent :: TerminatedEvent -> Adaptor app ()
- DAP: sendThreadEvent :: ThreadEvent -> Adaptor app ()
- DAP: sendThreadsResponse :: [Thread] -> Adaptor app ()
- DAP: sendVariablesResponse :: VariablesResponse -> Adaptor app ()
- DAP: sendWriteMemoryResponse :: WriteMemoryResponse -> Adaptor app ()
- DAP: setBody :: ToJSON value => value -> Adaptor app ()
- DAP: setField :: ToJSON value => Key -> value -> Adaptor app ()
- DAP: type AppStore app = TVar (HashMap SessionId (DebuggerThreadState, app))
- DAP: type PayloadSize = Int
- DAP: type Seq = Int
- DAP: type SessionId = Text
- DAP: updateDebugSession :: (app -> app) -> Adaptor app ()
- DAP: withConnectionLock :: IO () -> Adaptor app ()
- DAP: withGlobalLock :: IO () -> IO ()
- DAP: withLock :: MVar () -> IO () -> IO ()
+ DAP.Adaptor: debugMessage :: DebugStatus -> ByteString -> Adaptor app request ()
+ DAP.Adaptor: destroyDebugSession :: Adaptor app request ()
+ DAP.Adaptor: getArguments :: (Show value, FromJSON value) => Adaptor app Request value
+ DAP.Adaptor: getDebugSession :: Adaptor a r a
+ DAP.Adaptor: getDebugSessionId :: Adaptor app request SessionId
+ DAP.Adaptor: getHandle :: Adaptor app r Handle
+ DAP.Adaptor: getRequestSeqNum :: Adaptor app Request Seq
+ DAP.Adaptor: getServerCapabilities :: Adaptor app request Capabilities
+ DAP.Adaptor: logError :: Text -> Adaptor app request ()
+ DAP.Adaptor: logInfo :: Text -> Adaptor app request ()
+ DAP.Adaptor: logWarn :: Text -> Adaptor app request ()
+ DAP.Adaptor: logger :: LogAction IO DAPLog -> Level -> SockAddr -> Maybe DebugStatus -> Text -> IO ()
+ DAP.Adaptor: registerNewDebugSession :: SessionId -> app -> [(Adaptor app () () -> IO ()) -> IO ()] -> Adaptor app request ()
+ DAP.Adaptor: runAdaptor :: AdaptorLocal app Request -> AdaptorState -> Adaptor app Request () -> IO ()
+ DAP.Adaptor: runAdaptorWith :: AdaptorLocal app request -> AdaptorState -> Adaptor app request () -> IO ()
+ DAP.Adaptor: send :: Adaptor app Request () -> Adaptor app Request ()
+ DAP.Adaptor: sendError :: ErrorMessage -> Maybe Message -> Adaptor app request a
+ DAP.Adaptor: sendErrorResponse :: ErrorMessage -> Maybe Message -> Adaptor app Request ()
+ DAP.Adaptor: sendRaw :: ToJSON value => value -> Adaptor app request ()
+ DAP.Adaptor: sendSuccesfulEmptyResponse :: Adaptor app Request ()
+ DAP.Adaptor: sendSuccesfulEvent :: EventType -> Adaptor app request () -> Adaptor app request ()
+ DAP.Adaptor: sendSuccesfulResponse :: Adaptor app Request () -> Adaptor app Request ()
+ DAP.Adaptor: setBody :: ToJSON value => value -> Adaptor app request ()
+ DAP.Adaptor: setField :: ToJSON value => Key -> value -> Adaptor app request ()
+ DAP.Adaptor: updateDebugSession :: (app -> app) -> Adaptor app request ()
+ DAP.Adaptor: withConnectionLock :: IO () -> Adaptor app request ()
+ DAP.Adaptor: withRequest :: Request -> Adaptor app Request a -> Adaptor app r a
+ DAP.Event: defaultContinuedEvent :: ContinuedEvent
+ DAP.Event: defaultExitedEvent :: ExitedEvent
+ DAP.Event: defaultInvalidatedEvent :: InvalidatedEvent
+ DAP.Event: defaultMemoryEvent :: MemoryEvent
+ DAP.Event: defaultOutputEvent :: OutputEvent
+ DAP.Event: defaultProcessEvent :: ProcessEvent
+ DAP.Event: defaultProgressEndEvent :: ProgressEndEvent
+ DAP.Event: defaultProgressStartEvent :: ProgressStartEvent
+ DAP.Event: defaultProgressUpdateEvent :: ProgressUpdateEvent
+ DAP.Event: defaultStoppedEvent :: StoppedEvent
+ DAP.Event: defaultTerminatedEvent :: TerminatedEvent
+ DAP.Event: defaultThreadEvent :: ThreadEvent
+ DAP.Event: sendBreakpointEvent :: BreakpointEvent -> Adaptor app Request ()
+ DAP.Event: sendCapabilitiesEvent :: CapabilitiesEvent -> Adaptor app Request ()
+ DAP.Event: sendContinuedEvent :: ContinuedEvent -> Adaptor app Request ()
+ DAP.Event: sendExitedEvent :: ExitedEvent -> Adaptor app Request ()
+ DAP.Event: sendInitializedEvent :: Adaptor app Request ()
+ DAP.Event: sendInvalidatedEvent :: InvalidatedEvent -> Adaptor app Request ()
+ DAP.Event: sendLoadedSourceEvent :: LoadedSourceEvent -> Adaptor app Request ()
+ DAP.Event: sendMemoryEvent :: MemoryEvent -> Adaptor app Request ()
+ DAP.Event: sendModuleEvent :: ModuleEvent -> Adaptor app Request ()
+ DAP.Event: sendOutputEvent :: OutputEvent -> Adaptor app request ()
+ DAP.Event: sendProcessEvent :: ProcessEvent -> Adaptor app Request ()
+ DAP.Event: sendProgressEndEvent :: ProgressEndEvent -> Adaptor app Request ()
+ DAP.Event: sendProgressStartEvent :: ProgressStartEvent -> Adaptor app Request ()
+ DAP.Event: sendProgressUpdateEvent :: ProgressUpdateEvent -> Adaptor app Request ()
+ DAP.Event: sendStoppedEvent :: StoppedEvent -> Adaptor app Request ()
+ DAP.Event: sendTerminatedEvent :: TerminatedEvent -> Adaptor app Request ()
+ DAP.Event: sendThreadEvent :: ThreadEvent -> Adaptor app Request ()
+ DAP.Internal: withLock :: MVar () -> IO () -> IO ()
+ DAP.Log: (<&) :: LogAction m msg -> msg -> m ()
+ DAP.Log: DAPLog :: Level -> Maybe DebugStatus -> SockAddr -> Text -> DAPLog
+ DAP.Log: DEBUG :: Level
+ DAP.Log: ERROR :: Level
+ DAP.Log: GenericMessage :: Level -> Text -> DAPLog
+ DAP.Log: INFO :: Level
+ DAP.Log: LogAction :: (msg -> m ()) -> LogAction (m :: Type -> Type) msg
+ DAP.Log: RECEIVED :: DebugStatus
+ DAP.Log: SENT :: DebugStatus
+ DAP.Log: WARN :: Level
+ DAP.Log: [addr] :: DAPLog -> SockAddr
+ DAP.Log: [mDebugStatus] :: DAPLog -> Maybe DebugStatus
+ DAP.Log: [message] :: DAPLog -> Text
+ DAP.Log: [severity] :: DAPLog -> Level
+ DAP.Log: [unLogAction] :: LogAction (m :: Type -> Type) msg -> msg -> m ()
+ DAP.Log: cfilter :: forall (m :: Type -> Type) msg. Applicative m => (msg -> Bool) -> LogAction m msg -> LogAction m msg
+ DAP.Log: cmap :: forall a b (m :: Type -> Type). (a -> b) -> LogAction m b -> LogAction m a
+ DAP.Log: data DAPLog
+ DAP.Log: data DebugStatus
+ DAP.Log: data Level
+ DAP.Log: infix 5 <&
+ DAP.Log: instance GHC.Classes.Eq DAP.Log.DebugStatus
+ DAP.Log: instance GHC.Classes.Eq DAP.Log.Level
+ DAP.Log: instance GHC.Internal.Show.Show DAP.Log.DebugStatus
+ DAP.Log: instance GHC.Internal.Show.Show DAP.Log.Level
+ DAP.Log: mkDebugMessage :: Text -> DAPLog
+ DAP.Log: newtype LogAction (m :: Type -> Type) msg
+ DAP.Log: renderDAPLog :: DAPLog -> Text
+ DAP.Response: sendAttachResponse :: Adaptor app Request ()
+ DAP.Response: sendBreakpointLocationsResponse :: [BreakpointLocation] -> Adaptor app Request ()
+ DAP.Response: sendCompletionsResponse :: CompletionsResponse -> Adaptor app Request ()
+ DAP.Response: sendConfigurationDoneResponse :: Adaptor app Request ()
+ DAP.Response: sendContinueResponse :: ContinueResponse -> Adaptor app Request ()
+ DAP.Response: sendDataBreakpointInfoResponse :: DataBreakpointInfoResponse -> Adaptor app Request ()
+ DAP.Response: sendDisassembleResponse :: DisassembleResponse -> Adaptor app Request ()
+ DAP.Response: sendDisconnectResponse :: Adaptor app Request ()
+ DAP.Response: sendEvaluateResponse :: EvaluateResponse -> Adaptor app Request ()
+ DAP.Response: sendExceptionInfoResponse :: ExceptionInfoResponse -> Adaptor app Request ()
+ DAP.Response: sendGotoResponse :: Adaptor app Request ()
+ DAP.Response: sendGotoTargetsResponse :: Adaptor app Request ()
+ DAP.Response: sendInitializeResponse :: Adaptor app Request ()
+ DAP.Response: sendLaunchResponse :: Adaptor app Request ()
+ DAP.Response: sendLoadedSourcesResponse :: [Source] -> Adaptor app Request ()
+ DAP.Response: sendModulesResponse :: ModulesResponse -> Adaptor app Request ()
+ DAP.Response: sendNextResponse :: Adaptor app Request ()
+ DAP.Response: sendPauseResponse :: Adaptor app Request ()
+ DAP.Response: sendReadMemoryResponse :: ReadMemoryResponse -> Adaptor app Request ()
+ DAP.Response: sendRestartFrameResponse :: Adaptor app Request ()
+ DAP.Response: sendRestartResponse :: Adaptor app Request ()
+ DAP.Response: sendReverseContinueResponse :: Adaptor app Request ()
+ DAP.Response: sendRunInTerminalResponse :: RunInTerminalResponse -> Adaptor app Request ()
+ DAP.Response: sendScopesResponse :: ScopesResponse -> Adaptor app Request ()
+ DAP.Response: sendSetBreakpointsResponse :: [Breakpoint] -> Adaptor app Request ()
+ DAP.Response: sendSetDataBreakpointsResponse :: [Breakpoint] -> Adaptor app Request ()
+ DAP.Response: sendSetExceptionBreakpointsResponse :: [Breakpoint] -> Adaptor app Request ()
+ DAP.Response: sendSetExpressionResponse :: SetExpressionResponse -> Adaptor app Request ()
+ DAP.Response: sendSetFunctionBreakpointsResponse :: [Breakpoint] -> Adaptor app Request ()
+ DAP.Response: sendSetInstructionBreakpointsResponse :: [Breakpoint] -> Adaptor app Request ()
+ DAP.Response: sendSetVariableResponse :: SetVariableResponse -> Adaptor app Request ()
+ DAP.Response: sendSourceResponse :: SourceResponse -> Adaptor app Request ()
+ DAP.Response: sendStackTraceResponse :: StackTraceResponse -> Adaptor app Request ()
+ DAP.Response: sendStartDebuggingResponse :: Adaptor app Request ()
+ DAP.Response: sendStepBackResponse :: Adaptor app Request ()
+ DAP.Response: sendStepInResponse :: Adaptor app Request ()
+ DAP.Response: sendStepInTargetsResponse :: StepInTargetsResponse -> Adaptor app Request ()
+ DAP.Response: sendStepOutResponse :: Adaptor app Request ()
+ DAP.Response: sendTerminateResponse :: Adaptor app Request ()
+ DAP.Response: sendTerminateThreadsResponse :: Adaptor app Request ()
+ DAP.Response: sendThreadsResponse :: [Thread] -> Adaptor app Request ()
+ DAP.Response: sendVariablesResponse :: VariablesResponse -> Adaptor app Request ()
+ DAP.Response: sendWriteMemoryResponse :: WriteMemoryResponse -> Adaptor app Request ()
+ DAP.Server: TerminateServer :: TerminateServer
+ DAP.Server: data TerminateServer
+ DAP.Server: instance GHC.Internal.Exception.Type.Exception DAP.Server.TerminateServer
+ DAP.Server: instance GHC.Internal.Show.Show DAP.Server.TerminateServer
+ DAP.Server: readPayload :: FromJSON json => Handle -> IO (Either String json)
+ DAP.Server: runDAPServer :: ServerConfig -> (Command -> Adaptor app Request ()) -> IO ()
+ DAP.Server: runDAPServerWithLogger :: LogAction IO DAPLog -> ServerConfig -> (Command -> Adaptor app Request ()) -> IO ()
+ DAP.Types: Adaptor :: ExceptT (ErrorMessage, Maybe Message) (ReaderT (AdaptorLocal store r) (StateT AdaptorState IO)) a -> Adaptor store r a
+ DAP.Types: AdaptorLocal :: AppStore app -> ServerConfig -> Handle -> SockAddr -> IORef (Maybe SessionId) -> MVar () -> LogAction IO DAPLog -> request -> AdaptorLocal app request
+ DAP.Types: AdaptorState :: MessageType -> ![Pair] -> AdaptorState
+ DAP.Types: Always :: ExceptionBreakMode
+ DAP.Types: AttachRequestArguments :: Maybe Value -> AttachRequestArguments
+ DAP.Types: Breakpoint :: Maybe Int -> Bool -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Text -> Maybe Int -> Breakpoint
+ DAP.Types: BreakpointEvent :: EventReason -> Breakpoint -> BreakpointEvent
+ DAP.Types: BreakpointLocation :: Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocation
+ DAP.Types: BreakpointLocationsArguments :: Source -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> BreakpointLocationsArguments
+ DAP.Types: Breakpoints :: [breakpoint] -> Breakpoints breakpoint
+ DAP.Types: 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
+ DAP.Types: CapabilitiesEvent :: Capabilities -> CapabilitiesEvent
+ DAP.Types: Checksum :: ChecksumAlgorithm -> Text -> Checksum
+ DAP.Types: ColumnDescriptor :: String -> String -> Maybe String -> Maybe ColumnDescriptorType -> Maybe Int -> ColumnDescriptor
+ DAP.Types: ColumnDescriptorTypeBool :: ColumnDescriptorType
+ DAP.Types: ColumnDescriptorTypeInt :: ColumnDescriptorType
+ DAP.Types: ColumnDescriptorTypeString :: ColumnDescriptorType
+ DAP.Types: ColumnDescriptorTypeUTCTime :: UTCTime -> ColumnDescriptorType
+ DAP.Types: CommandAttach :: Command
+ DAP.Types: CommandBreakpointLocations :: Command
+ DAP.Types: CommandCancel :: Command
+ DAP.Types: CommandCompletions :: Command
+ DAP.Types: CommandConfigurationDone :: Command
+ DAP.Types: CommandContinue :: Command
+ DAP.Types: CommandDataBreakpointInfo :: Command
+ DAP.Types: CommandDisassemble :: Command
+ DAP.Types: CommandDisconnect :: Command
+ DAP.Types: CommandEvaluate :: Command
+ DAP.Types: CommandExceptionInfo :: Command
+ DAP.Types: CommandGoTo :: Command
+ DAP.Types: CommandGoToTargets :: Command
+ DAP.Types: CommandInitialize :: Command
+ DAP.Types: CommandLaunch :: Command
+ DAP.Types: CommandLoadedSources :: Command
+ DAP.Types: CommandModules :: Command
+ DAP.Types: CommandNext :: Command
+ DAP.Types: CommandPause :: Command
+ DAP.Types: CommandReadMemory :: Command
+ DAP.Types: CommandRestart :: Command
+ DAP.Types: CommandRestartFrame :: Command
+ DAP.Types: CommandReverseContinue :: Command
+ DAP.Types: CommandRunInTerminal :: Command
+ DAP.Types: CommandScopes :: Command
+ DAP.Types: CommandSetBreakpoints :: Command
+ DAP.Types: CommandSetDataBreakpoints :: Command
+ DAP.Types: CommandSetExceptionBreakpoints :: Command
+ DAP.Types: CommandSetExpression :: Command
+ DAP.Types: CommandSetFunctionBreakpoints :: Command
+ DAP.Types: CommandSetInstructionBreakpoints :: Command
+ DAP.Types: CommandSetVariable :: Command
+ DAP.Types: CommandSource :: Command
+ DAP.Types: CommandStackTrace :: Command
+ DAP.Types: CommandStartDebugging :: Command
+ DAP.Types: CommandStepBack :: Command
+ DAP.Types: CommandStepIn :: Command
+ DAP.Types: CommandStepInTargets :: Command
+ DAP.Types: CommandStepOut :: Command
+ DAP.Types: CommandTerminate :: Command
+ DAP.Types: CommandTerminateThreads :: Command
+ DAP.Types: CommandThreads :: Command
+ DAP.Types: CommandVariables :: Command
+ DAP.Types: CommandWriteMemory :: Command
+ DAP.Types: CompletionItem :: String -> Maybe String -> Maybe String -> Maybe String -> Maybe CompletionItemType -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> CompletionItem
+ DAP.Types: CompletionItemTypeClass :: CompletionItemType
+ DAP.Types: CompletionItemTypeColor :: CompletionItemType
+ DAP.Types: CompletionItemTypeConstructor :: CompletionItemType
+ DAP.Types: CompletionItemTypeCustomcolor :: CompletionItemType
+ DAP.Types: CompletionItemTypeEnum :: CompletionItemType
+ DAP.Types: CompletionItemTypeField :: CompletionItemType
+ DAP.Types: CompletionItemTypeFile :: CompletionItemType
+ DAP.Types: CompletionItemTypeFunction :: CompletionItemType
+ DAP.Types: CompletionItemTypeInterface :: CompletionItemType
+ DAP.Types: CompletionItemTypeKeyword :: CompletionItemType
+ DAP.Types: CompletionItemTypeMethod :: CompletionItemType
+ DAP.Types: CompletionItemTypeModule :: CompletionItemType
+ DAP.Types: CompletionItemTypeProperty :: CompletionItemType
+ DAP.Types: CompletionItemTypeReference :: CompletionItemType
+ DAP.Types: CompletionItemTypeSnippet :: CompletionItemType
+ DAP.Types: CompletionItemTypeText :: CompletionItemType
+ DAP.Types: CompletionItemTypeUnit :: CompletionItemType
+ DAP.Types: CompletionItemTypeValue :: CompletionItemType
+ DAP.Types: CompletionItemTypeVariable :: CompletionItemType
+ DAP.Types: CompletionsArguments :: Maybe Int -> Text -> Int -> Maybe Int -> CompletionsArguments
+ DAP.Types: CompletionsResponse :: [CompletionItem] -> CompletionsResponse
+ DAP.Types: ConfigurationDoneArguments :: ConfigurationDoneArguments
+ DAP.Types: ContinueArguments :: Int -> Bool -> ContinueArguments
+ DAP.Types: ContinueResponse :: Bool -> ContinueResponse
+ DAP.Types: ContinuedEvent :: Int -> Bool -> ContinuedEvent
+ DAP.Types: CustomCommand :: Text -> Command
+ DAP.Types: DataBreakpoint :: Text -> Maybe DataBreakpointAccessType -> Maybe Text -> Maybe Text -> DataBreakpoint
+ DAP.Types: DataBreakpointAccessTypeRead :: DataBreakpointAccessType
+ DAP.Types: DataBreakpointAccessTypeReadWrite :: DataBreakpointAccessType
+ DAP.Types: DataBreakpointAccessTypeWrite :: DataBreakpointAccessType
+ DAP.Types: DataBreakpointInfoArguments :: Maybe Int -> Text -> Maybe Int -> DataBreakpointInfoArguments
+ DAP.Types: DataBreakpointInfoResponse :: Maybe Text -> Text -> [DataBreakpointAccessType] -> Maybe Bool -> DataBreakpointInfoResponse
+ DAP.Types: DebugSessionIdException :: Text -> AdaptorException
+ DAP.Types: DebuggerException :: Text -> AdaptorException
+ DAP.Types: DebuggerThreadState :: [ThreadId] -> DebuggerThreadState
+ DAP.Types: DisassembleArguments :: Text -> Maybe Int -> Maybe Int -> Int -> Bool -> DisassembleArguments
+ DAP.Types: DisassembleResponse :: [DisassembledInstruction] -> DisassembleResponse
+ DAP.Types: DisassembledInstruction :: Text -> Maybe Text -> Text -> Maybe Text -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> DisassembledInstruction
+ DAP.Types: DisconnectArguments :: Bool -> Bool -> Bool -> DisconnectArguments
+ DAP.Types: ErrorMessage :: Text -> ErrorMessage
+ DAP.Types: ErrorMessageCancelled :: ErrorMessage
+ DAP.Types: ErrorMessageNotStopped :: ErrorMessage
+ DAP.Types: ErrorResponse :: Maybe Message -> ErrorResponse
+ DAP.Types: EvaluateArguments :: Text -> Maybe Int -> Maybe EvaluateArgumentsContext -> Maybe ValueFormat -> EvaluateArguments
+ DAP.Types: EvaluateArgumentsContextClipboard :: EvaluateArgumentsContext
+ DAP.Types: EvaluateArgumentsContextHover :: EvaluateArgumentsContext
+ DAP.Types: EvaluateArgumentsContextRepl :: EvaluateArgumentsContext
+ DAP.Types: EvaluateArgumentsContextVariable :: EvaluateArgumentsContext
+ DAP.Types: EvaluateArgumentsContextWatch :: EvaluateArgumentsContext
+ DAP.Types: EvaluateResponse :: Text -> Text -> Maybe VariablePresentationHint -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> EvaluateResponse
+ DAP.Types: EventGroupEnd :: EventGroup
+ DAP.Types: EventGroupStart :: EventGroup
+ DAP.Types: EventGroupStartCollapsed :: EventGroup
+ DAP.Types: EventReason :: Text -> EventReason
+ DAP.Types: EventReasonChanged :: EventReason
+ DAP.Types: EventReasonNew :: EventReason
+ DAP.Types: EventReasonRemoved :: EventReason
+ DAP.Types: EventTypeBreakpoint :: EventType
+ DAP.Types: EventTypeCapabilities :: EventType
+ DAP.Types: EventTypeContinued :: EventType
+ DAP.Types: EventTypeCustom :: Text -> EventType
+ DAP.Types: EventTypeExited :: EventType
+ DAP.Types: EventTypeInitialized :: EventType
+ DAP.Types: EventTypeInvalidated :: EventType
+ DAP.Types: EventTypeLoadedSource :: EventType
+ DAP.Types: EventTypeMemory :: EventType
+ DAP.Types: EventTypeModule :: EventType
+ DAP.Types: EventTypeOutput :: EventType
+ DAP.Types: EventTypeProcess :: EventType
+ DAP.Types: EventTypeProgressEnd :: EventType
+ DAP.Types: EventTypeProgressStart :: EventType
+ DAP.Types: EventTypeProgressUpdate :: EventType
+ DAP.Types: EventTypeStopped :: EventType
+ DAP.Types: EventTypeTerminated :: EventType
+ DAP.Types: EventTypeThread :: EventType
+ DAP.Types: ExceptionBreakpointsFilter :: Text -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> ExceptionBreakpointsFilter
+ DAP.Types: ExceptionDetails :: Maybe String -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ExceptionDetails] -> ExceptionDetails
+ DAP.Types: ExceptionFilterOptions :: String -> Maybe String -> ExceptionFilterOptions
+ DAP.Types: ExceptionInfoArguments :: Int -> ExceptionInfoArguments
+ DAP.Types: ExceptionInfoResponse :: Text -> Maybe Text -> ExceptionBreakMode -> Maybe ExceptionDetails -> ExceptionInfoResponse
+ DAP.Types: ExceptionOptions :: Maybe [ExceptionPathSegment] -> ExceptionBreakMode -> ExceptionOptions
+ DAP.Types: ExceptionPathSegment :: Maybe Bool -> [String] -> ExceptionPathSegment
+ DAP.Types: ExitedEvent :: Int -> ExitedEvent
+ DAP.Types: ExpectedArguments :: Text -> AdaptorException
+ DAP.Types: FunctionBreakpoint :: Maybe Text -> Maybe Text -> Maybe Text -> FunctionBreakpoint
+ DAP.Types: GotoArguments :: Int -> Int -> GotoArguments
+ DAP.Types: GotoTarget :: Int -> String -> Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe String -> GotoTarget
+ DAP.Types: GotoTargetsArguments :: Source -> Int -> Maybe Int -> GotoTargetsArguments
+ DAP.Types: GotoTargetsResponse :: [GotoTarget] -> GotoTargetsResponse
+ DAP.Types: InitializeRequestArguments :: Maybe Text -> Maybe Text -> Text -> Maybe Text -> Bool -> Bool -> Maybe PathFormat -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> InitializeRequestArguments
+ DAP.Types: InstructionBreakpoint :: Text -> Maybe Int -> Maybe Text -> Maybe Text -> InstructionBreakpoint
+ DAP.Types: InvalidatedAreasAll :: InvalidatedAreas
+ DAP.Types: InvalidatedAreasStacks :: InvalidatedAreas
+ DAP.Types: InvalidatedAreasThreads :: InvalidatedAreas
+ DAP.Types: InvalidatedAreasVariables :: InvalidatedAreas
+ DAP.Types: InvalidatedEvent :: [InvalidatedAreas] -> Maybe Int -> Maybe Int -> InvalidatedEvent
+ DAP.Types: LaunchRequestArguments :: Bool -> Maybe Value -> LaunchRequestArguments
+ DAP.Types: LoadedSourceEvent :: EventReason -> Source -> LoadedSourceEvent
+ DAP.Types: LoadedSourcesArguments :: LoadedSourcesArguments
+ DAP.Types: LoadedSourcesResponse :: [Source] -> LoadedSourcesResponse
+ DAP.Types: MD5 :: ChecksumAlgorithm
+ DAP.Types: MemoryEvent :: Text -> Int -> Int -> MemoryEvent
+ DAP.Types: Message :: Int -> Text -> Maybe (HashMap Text Text) -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Message
+ DAP.Types: MessageTypeEvent :: MessageType
+ DAP.Types: MessageTypeRequest :: MessageType
+ DAP.Types: MessageTypeResponse :: MessageType
+ DAP.Types: Module :: Either Text Int -> Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Module
+ DAP.Types: ModuleEvent :: EventReason -> Module -> ModuleEvent
+ DAP.Types: ModulesArguments :: Maybe Int -> Maybe Int -> ModulesArguments
+ DAP.Types: ModulesResponse :: [Module] -> Maybe Int -> ModulesResponse
+ DAP.Types: ModulesViewDescriptor :: [ColumnDescriptor] -> ModulesViewDescriptor
+ DAP.Types: Never :: ExceptionBreakMode
+ DAP.Types: NextArguments :: Int -> Maybe Bool -> Maybe SteppingGranularity -> NextArguments
+ DAP.Types: OutputEvent :: Maybe OutputEventCategory -> Text -> Maybe EventGroup -> Maybe Int -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Value -> OutputEvent
+ DAP.Types: OutputEventCategory :: Text -> OutputEventCategory
+ DAP.Types: OutputEventCategoryConsole :: OutputEventCategory
+ DAP.Types: OutputEventCategoryImportant :: OutputEventCategory
+ DAP.Types: OutputEventCategoryStderr :: OutputEventCategory
+ DAP.Types: OutputEventCategoryStdout :: OutputEventCategory
+ DAP.Types: OutputEventCategoryTelemetry :: OutputEventCategory
+ DAP.Types: ParseException :: String -> AdaptorException
+ DAP.Types: Path :: PathFormat
+ DAP.Types: PathFormat :: Text -> PathFormat
+ DAP.Types: PauseArguments :: Int -> PauseArguments
+ DAP.Types: PresentationHintAttributes :: String -> PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesCanHaveObjectId :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesConstant :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesHasDataBreakpoint :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesHasObjectId :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesHasSideEffects :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesRawText :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesReadOnly :: PresentationHintAttributes
+ DAP.Types: PresentationHintAttributesStatic :: PresentationHintAttributes
+ DAP.Types: PresentationHintKind :: Text -> PresentationHintKind
+ DAP.Types: PresentationHintKindBaseClass :: PresentationHintKind
+ DAP.Types: PresentationHintKindClass :: PresentationHintKind
+ DAP.Types: PresentationHintKindData :: PresentationHintKind
+ DAP.Types: PresentationHintKindDataBreakpoint :: PresentationHintKind
+ DAP.Types: PresentationHintKindEvent :: PresentationHintKind
+ DAP.Types: PresentationHintKindInnerClass :: PresentationHintKind
+ DAP.Types: PresentationHintKindInterface :: PresentationHintKind
+ DAP.Types: PresentationHintKindMethod :: PresentationHintKind
+ DAP.Types: PresentationHintKindMostDerivedClass :: PresentationHintKind
+ DAP.Types: PresentationHintKindProperty :: PresentationHintKind
+ DAP.Types: PresentationHintKindVirtual :: PresentationHintKind
+ DAP.Types: PresentationHintLabel :: PresentationHint
+ DAP.Types: PresentationHintNormal :: PresentationHint
+ DAP.Types: PresentationHintSubtle :: PresentationHint
+ DAP.Types: PresentationHintVisibility :: String -> PresentationHintVisibility
+ DAP.Types: PresentationHintVisibilityFinal :: PresentationHintVisibility
+ DAP.Types: PresentationHintVisibilityInternal :: PresentationHintVisibility
+ DAP.Types: PresentationHintVisibilityPrivate :: PresentationHintVisibility
+ DAP.Types: PresentationHintVisibilityProtected :: PresentationHintVisibility
+ DAP.Types: PresentationHintVisibilityPublic :: PresentationHintVisibility
+ DAP.Types: ProcessEvent :: Text -> Maybe Int -> Bool -> Maybe StartMethod -> Maybe Int -> ProcessEvent
+ DAP.Types: ProgressEndEvent :: Text -> Maybe Text -> ProgressEndEvent
+ DAP.Types: ProgressStartEvent :: Text -> Text -> Maybe Int -> Bool -> Maybe Text -> Maybe Int -> ProgressStartEvent
+ DAP.Types: ProgressUpdateEvent :: Text -> Maybe Text -> Maybe Int -> ProgressUpdateEvent
+ DAP.Types: ReadMemoryArguments :: Text -> Maybe Int -> Int -> ReadMemoryArguments
+ DAP.Types: ReadMemoryResponse :: Int -> Text -> Maybe Int -> Maybe Text -> ReadMemoryResponse
+ DAP.Types: Request :: Maybe Value -> Seq -> Command -> Request
+ DAP.Types: RestartArguments :: Maybe (Either LaunchRequestArguments AttachRequestArguments) -> RestartArguments
+ DAP.Types: RestartFrameArguments :: Int -> RestartFrameArguments
+ DAP.Types: ReverseContinueArguments :: Int -> Bool -> ReverseContinueArguments
+ DAP.Types: RunInTerminalResponse :: Maybe Int -> Maybe Int -> RunInTerminalResponse
+ DAP.Types: SHA1 :: ChecksumAlgorithm
+ DAP.Types: SHA256 :: ChecksumAlgorithm
+ DAP.Types: Scope :: Text -> Maybe ScopePresentationHint -> Int -> Maybe Int -> Maybe Int -> Bool -> Maybe Source -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Scope
+ DAP.Types: ScopePresentationHint :: Text -> ScopePresentationHint
+ DAP.Types: ScopePresentationHintArguments :: ScopePresentationHint
+ DAP.Types: ScopePresentationHintLocals :: ScopePresentationHint
+ DAP.Types: ScopePresentationHintRegisters :: ScopePresentationHint
+ DAP.Types: ScopesArguments :: Int -> ScopesArguments
+ DAP.Types: ScopesResponse :: [Scope] -> ScopesResponse
+ DAP.Types: ServerConfig :: String -> Int -> Capabilities -> Bool -> ServerConfig
+ DAP.Types: SetBreakpointsArguments :: Source -> Maybe [SourceBreakpoint] -> Maybe [Int] -> Maybe Bool -> SetBreakpointsArguments
+ DAP.Types: SetDataBreakpointsArguments :: [DataBreakpoint] -> SetDataBreakpointsArguments
+ DAP.Types: SetExceptionBreakpointsArguments :: [Text] -> Maybe ExceptionFilterOptions -> Maybe ExceptionOptions -> SetExceptionBreakpointsArguments
+ DAP.Types: SetExpressionArguments :: Text -> Text -> Maybe Int -> Maybe ValueFormat -> SetExpressionArguments
+ DAP.Types: SetExpressionResponse :: Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Int -> Maybe Int -> Maybe Int -> SetExpressionResponse
+ DAP.Types: SetFunctionBreakpointsArguments :: [FunctionBreakpoint] -> SetFunctionBreakpointsArguments
+ DAP.Types: SetInstructionBreakpointsArguments :: [InstructionBreakpoint] -> SetInstructionBreakpointsArguments
+ DAP.Types: SetVariableArguments :: Int -> Text -> Text -> Maybe ValueFormat -> SetVariableArguments
+ DAP.Types: SetVariableResponse :: Text -> Maybe Text -> Maybe Int -> Maybe Int -> Maybe Int -> SetVariableResponse
+ DAP.Types: Source :: Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourcePresentationHint -> Maybe Text -> Maybe [Source] -> Maybe Value -> Maybe [Checksum] -> Source
+ DAP.Types: SourceArguments :: Maybe Source -> Int -> SourceArguments
+ DAP.Types: SourceBreakpoint :: Int -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> SourceBreakpoint
+ DAP.Types: SourcePresentationHintDeemphasize :: SourcePresentationHint
+ DAP.Types: SourcePresentationHintEmphasize :: SourcePresentationHint
+ DAP.Types: SourcePresentationHintNormal :: SourcePresentationHint
+ DAP.Types: SourceResponse :: Text -> Maybe Text -> SourceResponse
+ DAP.Types: StackFrame :: Int -> Text -> Maybe Source -> Int -> Int -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Text -> Maybe (Either Int Text) -> Maybe PresentationHint -> StackFrame
+ DAP.Types: StackFrameFormat :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> StackFrameFormat
+ DAP.Types: StackTraceArguments :: Int -> Maybe Int -> Maybe Int -> Maybe StackFrameFormat -> StackTraceArguments
+ DAP.Types: StackTraceResponse :: [StackFrame] -> Maybe Int -> StackTraceResponse
+ DAP.Types: StartMethodAttach :: StartMethod
+ DAP.Types: StartMethodAttachForSuspendedLaunch :: StartMethod
+ DAP.Types: StartMethodLaunch :: StartMethod
+ DAP.Types: StepBackArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepBackArguments
+ DAP.Types: StepInArguments :: Int -> Bool -> Maybe Int -> Maybe SteppingGranularity -> StepInArguments
+ DAP.Types: StepInTarget :: Int -> Text -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> StepInTarget
+ DAP.Types: StepInTargetsArguments :: Int -> StepInTargetsArguments
+ DAP.Types: StepInTargetsResponse :: [StepInTarget] -> StepInTargetsResponse
+ DAP.Types: StepOutArguments :: Int -> Bool -> Maybe SteppingGranularity -> StepOutArguments
+ DAP.Types: SteppingGranularityInstruction :: SteppingGranularity
+ DAP.Types: SteppingGranularityLine :: SteppingGranularity
+ DAP.Types: SteppingGranularityStatement :: SteppingGranularity
+ DAP.Types: StoppedEvent :: StoppedEventReason -> Maybe Text -> Maybe Int -> Bool -> Maybe Text -> Bool -> [Int] -> StoppedEvent
+ DAP.Types: StoppedEventReasonBreakpoint :: StoppedEventReason
+ DAP.Types: StoppedEventReasonDataBreakpoint :: StoppedEventReason
+ DAP.Types: StoppedEventReasonEntry :: StoppedEventReason
+ DAP.Types: StoppedEventReasonException :: StoppedEventReason
+ DAP.Types: StoppedEventReasonFunctionBreakpoint :: StoppedEventReason
+ DAP.Types: StoppedEventReasonGoto :: StoppedEventReason
+ DAP.Types: StoppedEventReasonInstructionBreakpoint :: StoppedEventReason
+ DAP.Types: StoppedEventReasonPause :: StoppedEventReason
+ DAP.Types: StoppedEventReasonStep :: StoppedEventReason
+ DAP.Types: TerminateArguments :: Bool -> TerminateArguments
+ DAP.Types: TerminateThreadsArguments :: [Int] -> TerminateThreadsArguments
+ DAP.Types: TerminatedEvent :: Bool -> TerminatedEvent
+ DAP.Types: Thread :: Int -> Text -> Thread
+ DAP.Types: ThreadEvent :: ThreadEventReason -> Int -> ThreadEvent
+ DAP.Types: ThreadEventReason :: Text -> ThreadEventReason
+ DAP.Types: ThreadEventReasonExited :: ThreadEventReason
+ DAP.Types: ThreadEventReasonStarted :: ThreadEventReason
+ DAP.Types: ThreadsArguments :: ThreadsArguments
+ DAP.Types: ThreadsResponse :: [Thread] -> ThreadsResponse
+ DAP.Types: TimeStamp :: UTCTime -> ChecksumAlgorithm
+ DAP.Types: URI :: PathFormat
+ DAP.Types: Unhandled :: ExceptionBreakMode
+ DAP.Types: UserUnhandled :: ExceptionBreakMode
+ DAP.Types: ValueFormat :: Maybe Bool -> ValueFormat
+ DAP.Types: Variable :: Text -> Text -> Maybe Text -> Maybe VariablePresentationHint -> Maybe Text -> Int -> Maybe Int -> Maybe Int -> Maybe Text -> Variable
+ DAP.Types: VariablePresentationHint :: Maybe PresentationHintKind -> Maybe [PresentationHintAttributes] -> Maybe PresentationHintVisibility -> Maybe Bool -> VariablePresentationHint
+ DAP.Types: VariablesArguments :: Int -> Maybe VariablesFilter -> Maybe Int -> Maybe Int -> Maybe ValueFormat -> VariablesArguments
+ DAP.Types: VariablesResponse :: [Variable] -> VariablesResponse
+ DAP.Types: WriteMemoryArguments :: Text -> Maybe Int -> Bool -> Text -> WriteMemoryArguments
+ DAP.Types: WriteMemoryResponse :: Maybe Int -> Maybe Int -> WriteMemoryResponse
+ DAP.Types: [adapterID] :: InitializeRequestArguments -> Text
+ DAP.Types: [additionalModuleColumns] :: Capabilities -> [ColumnDescriptor]
+ DAP.Types: [address] :: AdaptorLocal app request -> SockAddr
+ DAP.Types: [algorithm] :: Checksum -> ChecksumAlgorithm
+ DAP.Types: [appStore] :: AdaptorLocal app request -> AppStore app
+ DAP.Types: [args] :: Request -> Maybe Value
+ DAP.Types: [attachRequestArgumentsRestart] :: AttachRequestArguments -> Maybe Value
+ DAP.Types: [breakpointColumn] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointEndColumn] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointEndLine] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointEventReason] :: BreakpointEvent -> EventReason
+ DAP.Types: [breakpointEvevntBreakpoint] :: BreakpointEvent -> Breakpoint
+ DAP.Types: [breakpointId] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointInstructionReference] :: Breakpoint -> Maybe Text
+ DAP.Types: [breakpointLine] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointLocationColumn] :: BreakpointLocation -> Maybe Int
+ DAP.Types: [breakpointLocationEndColumn] :: BreakpointLocation -> Maybe Int
+ DAP.Types: [breakpointLocationEndLine] :: BreakpointLocation -> Maybe Int
+ DAP.Types: [breakpointLocationLine] :: BreakpointLocation -> Int
+ DAP.Types: [breakpointLocationsArgumentsColumn] :: BreakpointLocationsArguments -> Maybe Int
+ DAP.Types: [breakpointLocationsArgumentsEndColumn] :: BreakpointLocationsArguments -> Maybe Int
+ DAP.Types: [breakpointLocationsArgumentsEndLine] :: BreakpointLocationsArguments -> Maybe Int
+ DAP.Types: [breakpointLocationsArgumentsLine] :: BreakpointLocationsArguments -> Int
+ DAP.Types: [breakpointLocationsArgumentsSource] :: BreakpointLocationsArguments -> Source
+ DAP.Types: [breakpointMessage] :: Breakpoint -> Maybe Text
+ DAP.Types: [breakpointOffset] :: Breakpoint -> Maybe Int
+ DAP.Types: [breakpointSource] :: Breakpoint -> Maybe Source
+ DAP.Types: [breakpointVerified] :: Breakpoint -> Bool
+ DAP.Types: [breakpoints] :: SetInstructionBreakpointsArguments -> [InstructionBreakpoint]
+ DAP.Types: [capabilities] :: CapabilitiesEvent -> Capabilities
+ DAP.Types: [checksum] :: Checksum -> Text
+ DAP.Types: [clientID] :: InitializeRequestArguments -> Maybe Text
+ DAP.Types: [clientName] :: InitializeRequestArguments -> Maybe Text
+ DAP.Types: [columnDescriptorAttributeName] :: ColumnDescriptor -> String
+ DAP.Types: [columnDescriptorFormat] :: ColumnDescriptor -> Maybe String
+ DAP.Types: [columnDescriptorLabel] :: ColumnDescriptor -> String
+ DAP.Types: [columnDescriptorType] :: ColumnDescriptor -> Maybe ColumnDescriptorType
+ DAP.Types: [columnDescriptorWidth] :: ColumnDescriptor -> Maybe Int
+ DAP.Types: [columnsStartAt1] :: InitializeRequestArguments -> Bool
+ DAP.Types: [command] :: Request -> Command
+ DAP.Types: [completionItemDetail] :: CompletionItem -> Maybe String
+ DAP.Types: [completionItemLabel] :: CompletionItem -> String
+ DAP.Types: [completionItemSortText] :: CompletionItem -> Maybe String
+ DAP.Types: [completionItemText] :: CompletionItem -> Maybe String
+ DAP.Types: [completionItemTypeLength] :: CompletionItem -> Maybe Int
+ DAP.Types: [completionItemTypeSelectionLength] :: CompletionItem -> Maybe Int
+ DAP.Types: [completionItemTypeSelectionStart] :: CompletionItem -> Maybe Int
+ DAP.Types: [completionItemTypeStart] :: CompletionItem -> Maybe Int
+ DAP.Types: [completionItemType] :: CompletionItem -> Maybe CompletionItemType
+ DAP.Types: [completionResponseTargets] :: CompletionsResponse -> [CompletionItem]
+ DAP.Types: [completionTriggerCharacters] :: Capabilities -> [Text]
+ DAP.Types: [completionsArgumentsColumn] :: CompletionsArguments -> Int
+ DAP.Types: [completionsArgumentsFrameId] :: CompletionsArguments -> Maybe Int
+ DAP.Types: [completionsArgumentsLine] :: CompletionsArguments -> Maybe Int
+ DAP.Types: [completionsArgumentsText] :: CompletionsArguments -> Text
+ DAP.Types: [condition] :: DataBreakpoint -> Maybe Text
+ DAP.Types: [continueArgumentsSingleThread] :: ContinueArguments -> Bool
+ DAP.Types: [continueArgumentsThreadId] :: ContinueArguments -> Int
+ DAP.Types: [continueResponseAllThreadsContinued] :: ContinueResponse -> Bool
+ DAP.Types: [continuedEventAllThreadsContinued] :: ContinuedEvent -> Bool
+ DAP.Types: [continuedEventThreadId] :: ContinuedEvent -> Int
+ DAP.Types: [dataBreakpointAccessType] :: DataBreakpoint -> Maybe DataBreakpointAccessType
+ DAP.Types: [dataBreakpointDataId] :: DataBreakpoint -> Text
+ DAP.Types: [dataBreakpointInfoArgumentsFrameId] :: DataBreakpointInfoArguments -> Maybe Int
+ DAP.Types: [dataBreakpointInfoArgumentsName] :: DataBreakpointInfoArguments -> Text
+ DAP.Types: [dataBreakpointInfoArgumentsVariablesReference] :: DataBreakpointInfoArguments -> Maybe Int
+ DAP.Types: [dataBreakpointInfoResponseDataId] :: DataBreakpointInfoResponse -> Maybe Text
+ DAP.Types: [dataBreakpointInfoResponseDescriptionAccessTypes] :: DataBreakpointInfoResponse -> [DataBreakpointAccessType]
+ DAP.Types: [dataBreakpointInfoResponseDescriptionCanPersist] :: DataBreakpointInfoResponse -> Maybe Bool
+ DAP.Types: [dataBreakpointInfoResponseDescription] :: DataBreakpointInfoResponse -> Text
+ DAP.Types: [debugLogging] :: ServerConfig -> Bool
+ DAP.Types: [debuggerThreads] :: DebuggerThreadState -> [ThreadId]
+ DAP.Types: [disassembleArgumentsInstructionCount] :: DisassembleArguments -> Int
+ DAP.Types: [disassembleArgumentsInstructionOffset] :: DisassembleArguments -> Maybe Int
+ DAP.Types: [disassembleArgumentsMemoryReference] :: DisassembleArguments -> Text
+ DAP.Types: [disassembleArgumentsOffset] :: DisassembleArguments -> Maybe Int
+ DAP.Types: [disassembleArgumentsResolveSymbols] :: DisassembleArguments -> Bool
+ DAP.Types: [disassembleResponseInstructions] :: DisassembleResponse -> [DisassembledInstruction]
+ DAP.Types: [disassembledInstructionAddress] :: DisassembledInstruction -> Text
+ DAP.Types: [disassembledInstructionColumn] :: DisassembledInstruction -> Maybe Int
+ DAP.Types: [disassembledInstructionEndColumn] :: DisassembledInstruction -> Maybe Int
+ DAP.Types: [disassembledInstructionEndLine] :: DisassembledInstruction -> Maybe Int
+ DAP.Types: [disassembledInstructionInstructionBytes] :: DisassembledInstruction -> Maybe Text
+ DAP.Types: [disassembledInstructionInstruction] :: DisassembledInstruction -> Text
+ DAP.Types: [disassembledInstructionLine] :: DisassembledInstruction -> Maybe Int
+ DAP.Types: [disassembledInstructionLocation] :: DisassembledInstruction -> Maybe Source
+ DAP.Types: [disassembledInstructionSymbol] :: DisassembledInstruction -> Maybe Text
+ DAP.Types: [disconnectArgumentsRestart] :: DisconnectArguments -> Bool
+ DAP.Types: [disconnectArgumentsSuspendDebuggee] :: DisconnectArguments -> Bool
+ DAP.Types: [disconnectArgumentsTerminateDebuggee] :: DisconnectArguments -> Bool
+ DAP.Types: [errorResponseError] :: ErrorResponse -> Maybe Message
+ DAP.Types: [evaluateArgumentsContext] :: EvaluateArguments -> Maybe EvaluateArgumentsContext
+ DAP.Types: [evaluateArgumentsExpression] :: EvaluateArguments -> Text
+ DAP.Types: [evaluateArgumentsFormat] :: EvaluateArguments -> Maybe ValueFormat
+ DAP.Types: [evaluateArgumentsFrameId] :: EvaluateArguments -> Maybe Int
+ DAP.Types: [evaluateResponseIndexedVariables] :: EvaluateResponse -> Maybe Int
+ DAP.Types: [evaluateResponseMemoryReference] :: EvaluateResponse -> Maybe Text
+ DAP.Types: [evaluateResponseNamedVariables] :: EvaluateResponse -> Maybe Int
+ DAP.Types: [evaluateResponsePresentationHint] :: EvaluateResponse -> Maybe VariablePresentationHint
+ DAP.Types: [evaluateResponseResult] :: EvaluateResponse -> Text
+ DAP.Types: [evaluateResponseType] :: EvaluateResponse -> Text
+ DAP.Types: [evaluateResponseVariablesReference] :: EvaluateResponse -> Int
+ DAP.Types: [exceptionBreakpointFilters] :: Capabilities -> [ExceptionBreakpointsFilter]
+ DAP.Types: [exceptionBreakpointsFilterConditionDescription] :: ExceptionBreakpointsFilter -> Maybe Text
+ DAP.Types: [exceptionBreakpointsFilterDefault] :: ExceptionBreakpointsFilter -> Maybe Bool
+ DAP.Types: [exceptionBreakpointsFilterDescription] :: ExceptionBreakpointsFilter -> Maybe Text
+ DAP.Types: [exceptionBreakpointsFilterFilter] :: ExceptionBreakpointsFilter -> Text
+ DAP.Types: [exceptionBreakpointsFilterLabel] :: ExceptionBreakpointsFilter -> Text
+ DAP.Types: [exceptionBreakpointsFilterSupportsCondition] :: ExceptionBreakpointsFilter -> Maybe Bool
+ DAP.Types: [exceptionDetailsEvaluateName] :: ExceptionDetails -> Maybe Text
+ DAP.Types: [exceptionDetailsFullTypeName] :: ExceptionDetails -> Maybe Text
+ DAP.Types: [exceptionDetailsInnerException] :: ExceptionDetails -> Maybe [ExceptionDetails]
+ DAP.Types: [exceptionDetailsMessage] :: ExceptionDetails -> Maybe String
+ DAP.Types: [exceptionDetailsStackTrace] :: ExceptionDetails -> Maybe Text
+ DAP.Types: [exceptionDetailstypeName] :: ExceptionDetails -> Maybe Text
+ DAP.Types: [exceptionFilterOptionsCondition] :: ExceptionFilterOptions -> Maybe String
+ DAP.Types: [exceptionFilterOptionsFilterId] :: ExceptionFilterOptions -> String
+ DAP.Types: [exceptionInfoArgumentsThreadId] :: ExceptionInfoArguments -> Int
+ DAP.Types: [exceptionInfoBreakMode] :: ExceptionInfoResponse -> ExceptionBreakMode
+ DAP.Types: [exceptionInfoDescriptionId] :: ExceptionInfoResponse -> Maybe Text
+ DAP.Types: [exceptionInfoReponseDetails] :: ExceptionInfoResponse -> Maybe ExceptionDetails
+ DAP.Types: [exceptionInfoResponseId] :: ExceptionInfoResponse -> Text
+ DAP.Types: [exceptionOptionsBreakMode] :: ExceptionOptions -> ExceptionBreakMode
+ DAP.Types: [exceptionOptionsPath] :: ExceptionOptions -> Maybe [ExceptionPathSegment]
+ DAP.Types: [exceptionPathSegmentNames] :: ExceptionPathSegment -> [String]
+ DAP.Types: [exceptionPathSegmentNegate] :: ExceptionPathSegment -> Maybe Bool
+ DAP.Types: [exitedEventExitCode] :: ExitedEvent -> Int
+ DAP.Types: [functionBreakpointCondition] :: FunctionBreakpoint -> Maybe Text
+ DAP.Types: [functionBreakpointHitCondition] :: FunctionBreakpoint -> Maybe Text
+ DAP.Types: [functionBreakpointName] :: FunctionBreakpoint -> Maybe Text
+ DAP.Types: [goToTargetsResponseTargets] :: GotoTargetsResponse -> [GotoTarget]
+ DAP.Types: [gotoArgumentsTargetId] :: GotoArguments -> Int
+ DAP.Types: [gotoArgumentsThreadId] :: GotoArguments -> Int
+ DAP.Types: [gotoTargetColumn] :: GotoTarget -> Maybe Int
+ DAP.Types: [gotoTargetEndColumn] :: GotoTarget -> Maybe Int
+ DAP.Types: [gotoTargetEndLine] :: GotoTarget -> Maybe Int
+ DAP.Types: [gotoTargetId] :: GotoTarget -> Int
+ DAP.Types: [gotoTargetInstructionPointerReference] :: GotoTarget -> Maybe String
+ DAP.Types: [gotoTargetLabel] :: GotoTarget -> String
+ DAP.Types: [gotoTargetLine] :: GotoTarget -> Int
+ DAP.Types: [gotoTargetsArgumentsColumn] :: GotoTargetsArguments -> Maybe Int
+ DAP.Types: [gotoTargetsArgumentsLine] :: GotoTargetsArguments -> Int
+ DAP.Types: [gotoTargetsArgumentsSource] :: GotoTargetsArguments -> Source
+ DAP.Types: [handleLock] :: AdaptorLocal app request -> MVar ()
+ DAP.Types: [handle] :: AdaptorLocal app request -> Handle
+ DAP.Types: [hitCondition] :: DataBreakpoint -> Maybe Text
+ DAP.Types: [host] :: ServerConfig -> String
+ DAP.Types: [instructionBreakpointCondition] :: InstructionBreakpoint -> Maybe Text
+ DAP.Types: [instructionBreakpointHitCondition] :: InstructionBreakpoint -> Maybe Text
+ DAP.Types: [instructionBreakpointInstructionReference] :: InstructionBreakpoint -> Text
+ DAP.Types: [instructionBreakpointOffset] :: InstructionBreakpoint -> Maybe Int
+ DAP.Types: [invalidatedEventAreas] :: InvalidatedEvent -> [InvalidatedAreas]
+ DAP.Types: [invalidatedEventStackFrameId] :: InvalidatedEvent -> Maybe Int
+ DAP.Types: [invalidatedEventThreadId] :: InvalidatedEvent -> Maybe Int
+ DAP.Types: [launchRequestArgumentsNoDebug] :: LaunchRequestArguments -> Bool
+ DAP.Types: [launchRequestArgumentsRestart] :: LaunchRequestArguments -> Maybe Value
+ DAP.Types: [linesStartAt1] :: InitializeRequestArguments -> Bool
+ DAP.Types: [loadedSourceEventReason] :: LoadedSourceEvent -> EventReason
+ DAP.Types: [loadedSourceSource] :: LoadedSourceEvent -> Source
+ DAP.Types: [loadedSourcesResponseSources] :: LoadedSourcesResponse -> [Source]
+ DAP.Types: [locale] :: InitializeRequestArguments -> Maybe Text
+ DAP.Types: [logAction] :: AdaptorLocal app request -> LogAction IO DAPLog
+ DAP.Types: [memoryEventCount] :: MemoryEvent -> Int
+ DAP.Types: [memoryEventMemoryReference] :: MemoryEvent -> Text
+ DAP.Types: [memoryEventOffset] :: MemoryEvent -> Int
+ DAP.Types: [messageFormat] :: Message -> Text
+ DAP.Types: [messageId] :: Message -> Int
+ DAP.Types: [messageSendTelemetry] :: Message -> Maybe Bool
+ DAP.Types: [messageShowUser] :: Message -> Maybe Bool
+ DAP.Types: [messageType] :: AdaptorState -> MessageType
+ DAP.Types: [messageUrlLabel] :: Message -> Maybe Text
+ DAP.Types: [messageUrl] :: Message -> Maybe Text
+ DAP.Types: [messageVariables] :: Message -> Maybe (HashMap Text Text)
+ DAP.Types: [moduleAddressRange] :: Module -> Maybe Text
+ DAP.Types: [moduleDateTimeStamp] :: Module -> Maybe Text
+ DAP.Types: [moduleEventModule] :: ModuleEvent -> Module
+ DAP.Types: [moduleEventReason] :: ModuleEvent -> EventReason
+ DAP.Types: [moduleId] :: Module -> Either Text Int
+ DAP.Types: [moduleIsOptimized] :: Module -> Maybe Bool
+ DAP.Types: [moduleIsUserCode] :: Module -> Maybe Bool
+ DAP.Types: [moduleName] :: Module -> Text
+ DAP.Types: [modulePath] :: Module -> Maybe Text
+ DAP.Types: [moduleSymbolFilePath] :: Module -> Maybe Text
+ DAP.Types: [moduleSymbolStatus] :: Module -> Maybe Text
+ DAP.Types: [moduleVersion] :: Module -> Maybe Text
+ DAP.Types: [modulesArgumentsModuleCount] :: ModulesArguments -> Maybe Int
+ DAP.Types: [modulesArgumentsStartModule] :: ModulesArguments -> Maybe Int
+ DAP.Types: [modulesResponseModules] :: ModulesResponse -> [Module]
+ DAP.Types: [modulesResponseTotalModules] :: ModulesResponse -> Maybe Int
+ DAP.Types: [modulesViewDescriptorColumns] :: ModulesViewDescriptor -> [ColumnDescriptor]
+ DAP.Types: [nextArgumentsGranularity] :: NextArguments -> Maybe SteppingGranularity
+ DAP.Types: [nextArgumentsSingleThread] :: NextArguments -> Maybe Bool
+ DAP.Types: [nextArgumentsThreadId] :: NextArguments -> Int
+ DAP.Types: [outputEventCategory] :: OutputEvent -> Maybe OutputEventCategory
+ DAP.Types: [outputEventColumn] :: OutputEvent -> Maybe Int
+ DAP.Types: [outputEventData] :: OutputEvent -> Maybe Value
+ DAP.Types: [outputEventGroup] :: OutputEvent -> Maybe EventGroup
+ DAP.Types: [outputEventLine] :: OutputEvent -> Maybe Int
+ DAP.Types: [outputEventOutput] :: OutputEvent -> Text
+ DAP.Types: [outputEventSource] :: OutputEvent -> Maybe Source
+ DAP.Types: [outputEventVariablesReference] :: OutputEvent -> Maybe Int
+ DAP.Types: [pathFormat] :: InitializeRequestArguments -> Maybe PathFormat
+ DAP.Types: [pauseArgumentsThreadId] :: PauseArguments -> Int
+ DAP.Types: [payload] :: AdaptorState -> ![Pair]
+ DAP.Types: [port] :: ServerConfig -> Int
+ DAP.Types: [processEventIsLocalProcess] :: ProcessEvent -> Bool
+ DAP.Types: [processEventName] :: ProcessEvent -> Text
+ DAP.Types: [processEventPointerSize] :: ProcessEvent -> Maybe Int
+ DAP.Types: [processEventStartMethod] :: ProcessEvent -> Maybe StartMethod
+ DAP.Types: [processEventSystemProcessId] :: ProcessEvent -> Maybe Int
+ DAP.Types: [progressEndEventMessage] :: ProgressEndEvent -> Maybe Text
+ DAP.Types: [progressEndEventProgressId] :: ProgressEndEvent -> Text
+ DAP.Types: [progressStartEventCancellable] :: ProgressStartEvent -> Bool
+ DAP.Types: [progressStartEventMessage] :: ProgressStartEvent -> Maybe Text
+ DAP.Types: [progressStartEventPercentage] :: ProgressStartEvent -> Maybe Int
+ DAP.Types: [progressStartEventProgressId] :: ProgressStartEvent -> Text
+ DAP.Types: [progressStartEventRequestId] :: ProgressStartEvent -> Maybe Int
+ DAP.Types: [progressStartEventTitle] :: ProgressStartEvent -> Text
+ DAP.Types: [progressUpdateEventMessage] :: ProgressUpdateEvent -> Maybe Text
+ DAP.Types: [progressUpdateEventPercentage] :: ProgressUpdateEvent -> Maybe Int
+ DAP.Types: [progressUpdateEventProgressId] :: ProgressUpdateEvent -> Text
+ DAP.Types: [readMemoryArgumentsCount] :: ReadMemoryArguments -> Int
+ DAP.Types: [readMemoryArgumentsOffset] :: ReadMemoryArguments -> Maybe Int
+ DAP.Types: [readMemoryArgumentsmemoryReference] :: ReadMemoryArguments -> Text
+ DAP.Types: [readMemoryResponseAddress] :: ReadMemoryResponse -> Text
+ DAP.Types: [readMemoryResponseBody] :: ReadMemoryResponse -> Int
+ DAP.Types: [readMemoryResponseData] :: ReadMemoryResponse -> Maybe Text
+ DAP.Types: [readMemoryResponseUnreadableBytes] :: ReadMemoryResponse -> Maybe Int
+ DAP.Types: [requestSeqNum] :: Request -> Seq
+ DAP.Types: [request] :: AdaptorLocal app request -> request
+ DAP.Types: [restartArgumentsArguments] :: RestartArguments -> Maybe (Either LaunchRequestArguments AttachRequestArguments)
+ DAP.Types: [restartFrameArgumentsFrameId] :: RestartFrameArguments -> Int
+ DAP.Types: [reverseContinueArgumentsSingleThread] :: ReverseContinueArguments -> Bool
+ DAP.Types: [reverseContinueArgumentsThreadId] :: ReverseContinueArguments -> Int
+ DAP.Types: [runInTerminalResponseProcessId] :: RunInTerminalResponse -> Maybe Int
+ DAP.Types: [runInTerminalResponseShellProcessId] :: RunInTerminalResponse -> Maybe Int
+ DAP.Types: [scopeColumn] :: Scope -> Maybe Int
+ DAP.Types: [scopeEndColumn] :: Scope -> Maybe Int
+ DAP.Types: [scopeEndLine] :: Scope -> Maybe Int
+ DAP.Types: [scopeExpensive] :: Scope -> Bool
+ DAP.Types: [scopeIndexedVariables] :: Scope -> Maybe Int
+ DAP.Types: [scopeLine] :: Scope -> Maybe Int
+ DAP.Types: [scopeName] :: Scope -> Text
+ DAP.Types: [scopeNamedVariables] :: Scope -> Maybe Int
+ DAP.Types: [scopePresentationHint] :: Scope -> Maybe ScopePresentationHint
+ DAP.Types: [scopeSource] :: Scope -> Maybe Source
+ DAP.Types: [scopeVariablesReference] :: Scope -> Int
+ DAP.Types: [scopesArgumentsFrameId] :: ScopesArguments -> Int
+ DAP.Types: [scopes] :: ScopesResponse -> [Scope]
+ DAP.Types: [serverCapabilities] :: ServerConfig -> Capabilities
+ DAP.Types: [serverConfig] :: AdaptorLocal app request -> ServerConfig
+ DAP.Types: [sessionId] :: AdaptorLocal app request -> IORef (Maybe SessionId)
+ DAP.Types: [setBreakpointsArgumentsBreakpoints] :: SetBreakpointsArguments -> Maybe [SourceBreakpoint]
+ DAP.Types: [setBreakpointsArgumentsLines] :: SetBreakpointsArguments -> Maybe [Int]
+ DAP.Types: [setBreakpointsArgumentsSourceModified] :: SetBreakpointsArguments -> Maybe Bool
+ DAP.Types: [setBreakpointsArgumentsSource] :: SetBreakpointsArguments -> Source
+ DAP.Types: [setDataBreakpointsArgumentsBreakpoints] :: SetDataBreakpointsArguments -> [DataBreakpoint]
+ DAP.Types: [setExceptionBreakpointsArgumentsExceptionOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionOptions
+ DAP.Types: [setExceptionBreakpointsArgumentsFilterOptions] :: SetExceptionBreakpointsArguments -> Maybe ExceptionFilterOptions
+ DAP.Types: [setExceptionBreakpointsArgumentsFilters] :: SetExceptionBreakpointsArguments -> [Text]
+ DAP.Types: [setExpressionArgumentsExpression] :: SetExpressionArguments -> Text
+ DAP.Types: [setExpressionArgumentsFormat] :: SetExpressionArguments -> Maybe ValueFormat
+ DAP.Types: [setExpressionArgumentsFrameId] :: SetExpressionArguments -> Maybe Int
+ DAP.Types: [setExpressionArgumentsValue] :: SetExpressionArguments -> Text
+ DAP.Types: [setExpressionResponseIndexedVariables] :: SetExpressionResponse -> Maybe Int
+ DAP.Types: [setExpressionResponseNamedVariables] :: SetExpressionResponse -> Maybe Int
+ DAP.Types: [setExpressionResponsePresentationHint] :: SetExpressionResponse -> Maybe VariablePresentationHint
+ DAP.Types: [setExpressionResponseType] :: SetExpressionResponse -> Maybe Text
+ DAP.Types: [setExpressionResponseValue] :: SetExpressionResponse -> Text
+ DAP.Types: [setExpressionResponseVariablesReference] :: SetExpressionResponse -> Maybe Int
+ DAP.Types: [setFunctionBreakpointsArgumentsBreakpoints] :: SetFunctionBreakpointsArguments -> [FunctionBreakpoint]
+ DAP.Types: [setVariableArgumentsFormat] :: SetVariableArguments -> Maybe ValueFormat
+ DAP.Types: [setVariableArgumentsName] :: SetVariableArguments -> Text
+ DAP.Types: [setVariableArgumentsValue] :: SetVariableArguments -> Text
+ DAP.Types: [setVariableArgumentsVariablesReference] :: SetVariableArguments -> Int
+ DAP.Types: [setVariableResponseIndexedVariables] :: SetVariableResponse -> Maybe Int
+ DAP.Types: [setVariableResponseNamedVariables] :: SetVariableResponse -> Maybe Int
+ DAP.Types: [setVariableResponseReference] :: SetVariableResponse -> Maybe Int
+ DAP.Types: [setVariableResponseType] :: SetVariableResponse -> Maybe Text
+ DAP.Types: [setVariableResponseValue] :: SetVariableResponse -> Text
+ DAP.Types: [sourceAdapterData] :: Source -> Maybe Value
+ DAP.Types: [sourceArgumentsSourceReference] :: SourceArguments -> Int
+ DAP.Types: [sourceArgumentsSource] :: SourceArguments -> Maybe Source
+ DAP.Types: [sourceBreakpointColumn] :: SourceBreakpoint -> Maybe Int
+ DAP.Types: [sourceBreakpointCondition] :: SourceBreakpoint -> Maybe Text
+ DAP.Types: [sourceBreakpointHitCondition] :: SourceBreakpoint -> Maybe Text
+ DAP.Types: [sourceBreakpointLine] :: SourceBreakpoint -> Int
+ DAP.Types: [sourceBreakpointLogMessage] :: SourceBreakpoint -> Maybe Text
+ DAP.Types: [sourceChecksums] :: Source -> Maybe [Checksum]
+ DAP.Types: [sourceName] :: Source -> Maybe Text
+ DAP.Types: [sourceOrigin] :: Source -> Maybe Text
+ DAP.Types: [sourcePath] :: Source -> Maybe Text
+ DAP.Types: [sourcePresentationHint] :: Source -> Maybe SourcePresentationHint
+ DAP.Types: [sourceResponseContent] :: SourceResponse -> Text
+ DAP.Types: [sourceResponseMimeType] :: SourceResponse -> Maybe Text
+ DAP.Types: [sourceSourceReference] :: Source -> Maybe Int
+ DAP.Types: [sourceSources] :: Source -> Maybe [Source]
+ DAP.Types: [stackFrameCanRestart] :: StackFrame -> Maybe Bool
+ DAP.Types: [stackFrameColumn] :: StackFrame -> Int
+ DAP.Types: [stackFrameEndColumn] :: StackFrame -> Maybe Int
+ DAP.Types: [stackFrameEndLine] :: StackFrame -> Maybe Int
+ DAP.Types: [stackFrameFormatHex] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatIncludeAll] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatLine] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatModule] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatParameterNames] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatParameterTypes] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatParameterValues] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameFormatParameters] :: StackFrameFormat -> Maybe Bool
+ DAP.Types: [stackFrameId] :: StackFrame -> Int
+ DAP.Types: [stackFrameInstructionPointerReference] :: StackFrame -> Maybe Text
+ DAP.Types: [stackFrameLine] :: StackFrame -> Int
+ DAP.Types: [stackFrameModuleId] :: StackFrame -> Maybe (Either Int Text)
+ DAP.Types: [stackFrameName] :: StackFrame -> Text
+ DAP.Types: [stackFramePresentationHint] :: StackFrame -> Maybe PresentationHint
+ DAP.Types: [stackFrameSource] :: StackFrame -> Maybe Source
+ DAP.Types: [stackFrames] :: StackTraceResponse -> [StackFrame]
+ DAP.Types: [stackTraceArgumentsFormat] :: StackTraceArguments -> Maybe StackFrameFormat
+ DAP.Types: [stackTraceArgumentsLevels] :: StackTraceArguments -> Maybe Int
+ DAP.Types: [stackTraceArgumentsStartFrame] :: StackTraceArguments -> Maybe Int
+ DAP.Types: [stackTraceArgumentsThreadId] :: StackTraceArguments -> Int
+ DAP.Types: [stepBackArgumentsGranularity] :: StepBackArguments -> Maybe SteppingGranularity
+ DAP.Types: [stepBackArgumentsSingleThread] :: StepBackArguments -> Bool
+ DAP.Types: [stepBackArgumentsThreadId] :: StepBackArguments -> Int
+ DAP.Types: [stepInArgumentsGranularity] :: StepInArguments -> Maybe SteppingGranularity
+ DAP.Types: [stepInArgumentsSingleThread] :: StepInArguments -> Bool
+ DAP.Types: [stepInArgumentsTargetId] :: StepInArguments -> Maybe Int
+ DAP.Types: [stepInArgumentsThreadId] :: StepInArguments -> Int
+ DAP.Types: [stepInTargetColumn] :: StepInTarget -> Maybe Int
+ DAP.Types: [stepInTargetEndColumn] :: StepInTarget -> Maybe Int
+ DAP.Types: [stepInTargetEndLine] :: StepInTarget -> Maybe Int
+ DAP.Types: [stepInTargetId] :: StepInTarget -> Int
+ DAP.Types: [stepInTargetLabel] :: StepInTarget -> Text
+ DAP.Types: [stepInTargetLine] :: StepInTarget -> Maybe Int
+ DAP.Types: [stepInTargetsArgumentsFrameId] :: StepInTargetsArguments -> Int
+ DAP.Types: [stepInTargetsResponseTargets] :: StepInTargetsResponse -> [StepInTarget]
+ DAP.Types: [stepOutArgumentsGranularity] :: StepOutArguments -> Maybe SteppingGranularity
+ DAP.Types: [stepOutArgumentsSingleThread] :: StepOutArguments -> Bool
+ DAP.Types: [stepOutArgumentsThreadId] :: StepOutArguments -> Int
+ DAP.Types: [stoppedEventAllThreadsStopped] :: StoppedEvent -> Bool
+ DAP.Types: [stoppedEventDescription] :: StoppedEvent -> Maybe Text
+ DAP.Types: [stoppedEventHitBreakpointIds] :: StoppedEvent -> [Int]
+ DAP.Types: [stoppedEventPreserveFocusHint] :: StoppedEvent -> Bool
+ DAP.Types: [stoppedEventReason] :: StoppedEvent -> StoppedEventReason
+ DAP.Types: [stoppedEventText] :: StoppedEvent -> Maybe Text
+ DAP.Types: [stoppedEventThreadId] :: StoppedEvent -> Maybe Int
+ DAP.Types: [supportSuspendDebuggee] :: Capabilities -> Bool
+ DAP.Types: [supportTerminateDebuggee] :: Capabilities -> Bool
+ DAP.Types: [supportedChecksumAlgorithms] :: Capabilities -> [ChecksumAlgorithm]
+ DAP.Types: [supportsArgsCanBeInterpretedByShell] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsBreakpointLocationsRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsCancelRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsClipboardContext] :: Capabilities -> Bool
+ DAP.Types: [supportsCompletionsRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsConditionalBreakpoints] :: Capabilities -> Bool
+ DAP.Types: [supportsConfigurationDoneRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsDataBreakpoints] :: Capabilities -> Bool
+ DAP.Types: [supportsDelayedStackTraceLoading] :: Capabilities -> Bool
+ DAP.Types: [supportsDisassembleRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsEvaluateForHovers] :: Capabilities -> Bool
+ DAP.Types: [supportsExceptionFilterOptions] :: Capabilities -> Bool
+ DAP.Types: [supportsExceptionInfoRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsExceptionOptions] :: Capabilities -> Bool
+ DAP.Types: [supportsFunctionBreakpoints] :: Capabilities -> Bool
+ DAP.Types: [supportsGotoTargetsRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsHitConditionalBreakpoints] :: Capabilities -> Bool
+ DAP.Types: [supportsInstructionBreakpoints] :: Capabilities -> Bool
+ DAP.Types: [supportsInvalidatedEvent] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsLoadedSourcesRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsLogPoints] :: Capabilities -> Bool
+ DAP.Types: [supportsMemoryEvent] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsMemoryReferences] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsModulesRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsProgressReporting] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsReadMemoryRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsRestartFrame] :: Capabilities -> Bool
+ DAP.Types: [supportsRestartRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsRunInTerminalRequest] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsSetExpression] :: Capabilities -> Bool
+ DAP.Types: [supportsSetVariable] :: Capabilities -> Bool
+ DAP.Types: [supportsSingleThreadExecutionRequests] :: Capabilities -> Bool
+ DAP.Types: [supportsStartDebuggingRequest] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsStepBack] :: Capabilities -> Bool
+ DAP.Types: [supportsStepInTargetsRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsSteppingGranularity] :: Capabilities -> Bool
+ DAP.Types: [supportsTerminateRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsTerminateThreadsRequest] :: Capabilities -> Bool
+ DAP.Types: [supportsValueFormattingOptions] :: Capabilities -> Bool
+ DAP.Types: [supportsVariablePaging] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsVariableType] :: InitializeRequestArguments -> Bool
+ DAP.Types: [supportsWriteMemoryRequest] :: Capabilities -> Bool
+ DAP.Types: [terminateArgumentsRestart] :: TerminateArguments -> Bool
+ DAP.Types: [terminateThreadsArgumentsThreadIds] :: TerminateThreadsArguments -> [Int]
+ DAP.Types: [terminatedEventRestart] :: TerminatedEvent -> Bool
+ DAP.Types: [threadEventReason] :: ThreadEvent -> ThreadEventReason
+ DAP.Types: [threadEventThreadId] :: ThreadEvent -> Int
+ DAP.Types: [threadId] :: Thread -> Int
+ DAP.Types: [threadName] :: Thread -> Text
+ DAP.Types: [threads] :: ThreadsResponse -> [Thread]
+ DAP.Types: [totalFrames] :: StackTraceResponse -> Maybe Int
+ DAP.Types: [valueFormatHex] :: ValueFormat -> Maybe Bool
+ DAP.Types: [variableEvaluateName] :: Variable -> Maybe Text
+ DAP.Types: [variableIndexedVariables] :: Variable -> Maybe Int
+ DAP.Types: [variableMemoryReference] :: Variable -> Maybe Text
+ DAP.Types: [variableName] :: Variable -> Text
+ DAP.Types: [variableNamedVariables] :: Variable -> Maybe Int
+ DAP.Types: [variablePresentationHintAttributes] :: VariablePresentationHint -> Maybe [PresentationHintAttributes]
+ DAP.Types: [variablePresentationHintKind] :: VariablePresentationHint -> Maybe PresentationHintKind
+ DAP.Types: [variablePresentationHintLazy] :: VariablePresentationHint -> Maybe Bool
+ DAP.Types: [variablePresentationHintVisibility] :: VariablePresentationHint -> Maybe PresentationHintVisibility
+ DAP.Types: [variablePresentationHint] :: Variable -> Maybe VariablePresentationHint
+ DAP.Types: [variableType] :: Variable -> Maybe Text
+ DAP.Types: [variableValue] :: Variable -> Text
+ DAP.Types: [variableVariablesReference] :: Variable -> Int
+ DAP.Types: [variablesArgumentsCount] :: VariablesArguments -> Maybe Int
+ DAP.Types: [variablesArgumentsFilter] :: VariablesArguments -> Maybe VariablesFilter
+ DAP.Types: [variablesArgumentsFormat] :: VariablesArguments -> Maybe ValueFormat
+ DAP.Types: [variablesArgumentsStart] :: VariablesArguments -> Maybe Int
+ DAP.Types: [variablesArgumentsVariablesReference] :: VariablesArguments -> Int
+ DAP.Types: [variables] :: VariablesResponse -> [Variable]
+ DAP.Types: [writeMemoryArgumentsAllowPartial] :: WriteMemoryArguments -> Bool
+ DAP.Types: [writeMemoryArgumentsData] :: WriteMemoryArguments -> Text
+ DAP.Types: [writeMemoryArgumentsOffset] :: WriteMemoryArguments -> Maybe Int
+ DAP.Types: [writeMemoryMemoryReference] :: WriteMemoryArguments -> Text
+ DAP.Types: [writeMemoryResponseBytesWritten] :: WriteMemoryResponse -> Maybe Int
+ DAP.Types: [writeMemoryResponseOffset] :: WriteMemoryResponse -> Maybe Int
+ DAP.Types: class Monad m => MonadIO (m :: Type -> Type)
+ DAP.Types: data AdaptorException
+ DAP.Types: data AdaptorLocal app request
+ DAP.Types: data AdaptorState
+ DAP.Types: data AttachRequestArguments
+ DAP.Types: data Breakpoint
+ DAP.Types: data BreakpointEvent
+ DAP.Types: data BreakpointLocation
+ DAP.Types: data BreakpointLocationsArguments
+ DAP.Types: data Capabilities
+ DAP.Types: data CapabilitiesEvent
+ DAP.Types: data Checksum
+ DAP.Types: data ChecksumAlgorithm
+ DAP.Types: data ColumnDescriptor
+ DAP.Types: data ColumnDescriptorType
+ DAP.Types: data Command
+ DAP.Types: data CompletionItem
+ DAP.Types: data CompletionItemType
+ DAP.Types: data CompletionsArguments
+ DAP.Types: data CompletionsResponse
+ DAP.Types: data ConfigurationDoneArguments
+ DAP.Types: data ContinueArguments
+ DAP.Types: data ContinueResponse
+ DAP.Types: data ContinuedEvent
+ DAP.Types: data DataBreakpoint
+ DAP.Types: data DataBreakpointAccessType
+ DAP.Types: data DataBreakpointInfoArguments
+ DAP.Types: data DataBreakpointInfoResponse
+ DAP.Types: data DebuggerThreadState
+ DAP.Types: data DisassembleArguments
+ DAP.Types: data DisassembleResponse
+ DAP.Types: data DisassembledInstruction
+ DAP.Types: data DisconnectArguments
+ DAP.Types: data ErrorMessage
+ DAP.Types: data EvaluateArguments
+ DAP.Types: data EvaluateArgumentsContext
+ DAP.Types: data EvaluateResponse
+ DAP.Types: data EventGroup
+ DAP.Types: data EventReason
+ DAP.Types: data EventType
+ DAP.Types: data ExceptionBreakMode
+ DAP.Types: data ExceptionBreakpointsFilter
+ DAP.Types: data ExceptionDetails
+ DAP.Types: data ExceptionFilterOptions
+ DAP.Types: data ExceptionInfoArguments
+ DAP.Types: data ExceptionInfoResponse
+ DAP.Types: data ExceptionOptions
+ DAP.Types: data ExceptionPathSegment
+ DAP.Types: data ExitedEvent
+ DAP.Types: data FunctionBreakpoint
+ DAP.Types: data GotoArguments
+ DAP.Types: data GotoTarget
+ DAP.Types: data GotoTargetsArguments
+ DAP.Types: data GotoTargetsResponse
+ DAP.Types: data InitializeRequestArguments
+ DAP.Types: data InstructionBreakpoint
+ DAP.Types: data InvalidatedAreas
+ DAP.Types: data InvalidatedEvent
+ DAP.Types: data LaunchRequestArguments
+ DAP.Types: data LoadedSourceEvent
+ DAP.Types: data LoadedSourcesArguments
+ DAP.Types: data LoadedSourcesResponse
+ DAP.Types: data MemoryEvent
+ DAP.Types: data Message
+ DAP.Types: data MessageType
+ DAP.Types: data Module
+ DAP.Types: data ModuleEvent
+ DAP.Types: data ModulesArguments
+ DAP.Types: data ModulesResponse
+ DAP.Types: data ModulesViewDescriptor
+ DAP.Types: data NextArguments
+ DAP.Types: data OutputEvent
+ DAP.Types: data OutputEventCategory
+ DAP.Types: data PathFormat
+ DAP.Types: data PauseArguments
+ DAP.Types: data PresentationHint
+ DAP.Types: data PresentationHintAttributes
+ DAP.Types: data PresentationHintKind
+ DAP.Types: data PresentationHintVisibility
+ DAP.Types: data ProcessEvent
+ DAP.Types: data ProgressEndEvent
+ DAP.Types: data ProgressStartEvent
+ DAP.Types: data ProgressUpdateEvent
+ DAP.Types: data ReadMemoryArguments
+ DAP.Types: data ReadMemoryResponse
+ DAP.Types: data Request
+ DAP.Types: data RestartArguments
+ DAP.Types: data RestartFrameArguments
+ DAP.Types: data ReverseContinueArguments
+ DAP.Types: data RunInTerminalResponse
+ DAP.Types: data Scope
+ DAP.Types: data ScopePresentationHint
+ DAP.Types: data ScopesArguments
+ DAP.Types: data ServerConfig
+ DAP.Types: data SetBreakpointsArguments
+ DAP.Types: data SetDataBreakpointsArguments
+ DAP.Types: data SetExceptionBreakpointsArguments
+ DAP.Types: data SetExpressionArguments
+ DAP.Types: data SetExpressionResponse
+ DAP.Types: data SetFunctionBreakpointsArguments
+ DAP.Types: data SetInstructionBreakpointsArguments
+ DAP.Types: data SetVariableArguments
+ DAP.Types: data SetVariableResponse
+ DAP.Types: data Source
+ DAP.Types: data SourceArguments
+ DAP.Types: data SourceBreakpoint
+ DAP.Types: data SourcePresentationHint
+ DAP.Types: data SourceResponse
+ DAP.Types: data StackFrame
+ DAP.Types: data StackFrameFormat
+ DAP.Types: data StackTraceArguments
+ DAP.Types: data StackTraceResponse
+ DAP.Types: data StartMethod
+ DAP.Types: data StepBackArguments
+ DAP.Types: data StepInArguments
+ DAP.Types: data StepInTarget
+ DAP.Types: data StepInTargetsArguments
+ DAP.Types: data StepInTargetsResponse
+ DAP.Types: data StepOutArguments
+ DAP.Types: data SteppingGranularity
+ DAP.Types: data StoppedEvent
+ DAP.Types: data StoppedEventReason
+ DAP.Types: data TerminateArguments
+ DAP.Types: data TerminatedEvent
+ DAP.Types: data Thread
+ DAP.Types: data ThreadEvent
+ DAP.Types: data ThreadEventReason
+ DAP.Types: data ThreadsArguments
+ DAP.Types: data ValueFormat
+ DAP.Types: data Variable
+ DAP.Types: data VariablePresentationHint
+ DAP.Types: data VariablesArguments
+ DAP.Types: data VariablesResponse
+ DAP.Types: data WriteMemoryArguments
+ DAP.Types: data WriteMemoryResponse
+ DAP.Types: defaultBreakpoint :: Breakpoint
+ DAP.Types: defaultBreakpointLocation :: BreakpointLocation
+ DAP.Types: defaultCapabilities :: Capabilities
+ DAP.Types: defaultColumnDescriptor :: ColumnDescriptor
+ DAP.Types: defaultCompletionItem :: CompletionItem
+ DAP.Types: defaultDisassembledInstruction :: DisassembledInstruction
+ DAP.Types: defaultExceptionBreakpointsFilter :: ExceptionBreakpointsFilter
+ DAP.Types: defaultExceptionDetails :: ExceptionDetails
+ DAP.Types: defaultFunctionBreakpoint :: FunctionBreakpoint
+ DAP.Types: defaultGotoTarget :: GotoTarget
+ DAP.Types: defaultMessage :: Message
+ DAP.Types: defaultModule :: Module
+ DAP.Types: defaultModulesViewDescriptor :: ModulesViewDescriptor
+ DAP.Types: defaultScope :: Scope
+ DAP.Types: defaultSource :: Source
+ DAP.Types: defaultSourceBreakpoint :: SourceBreakpoint
+ DAP.Types: defaultStackFrame :: StackFrame
+ DAP.Types: defaultStackFrameFormat :: StackFrameFormat
+ DAP.Types: defaultStepInTarget :: StepInTarget
+ DAP.Types: defaultThread :: Thread
+ DAP.Types: defaultValueFormat :: ValueFormat
+ DAP.Types: defaultVariable :: Variable
+ DAP.Types: defaultVariablePresentationHint :: VariablePresentationHint
+ DAP.Types: instance Control.Monad.Base.MonadBase GHC.Types.IO (DAP.Types.Adaptor store r)
+ DAP.Types: instance Control.Monad.Error.Class.MonadError (DAP.Types.ErrorMessage, GHC.Internal.Maybe.Maybe DAP.Types.Message) (DAP.Types.Adaptor store r)
+ DAP.Types: instance Control.Monad.IO.Class.MonadIO (DAP.Types.Adaptor store r)
+ DAP.Types: instance Control.Monad.Reader.Class.MonadReader (DAP.Types.AdaptorLocal store r) (DAP.Types.Adaptor store r)
+ DAP.Types: instance Control.Monad.State.Class.MonadState DAP.Types.AdaptorState (DAP.Types.Adaptor store r)
+ DAP.Types: instance Control.Monad.Trans.Control.MonadBaseControl GHC.Types.IO (DAP.Types.Adaptor store r)
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.AttachRequestArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.BreakpointLocationsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.CancelArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.Checksum
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ChecksumAlgorithm
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.Command
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.CompletionsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ConfigurationDoneArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ContinueArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.DataBreakpoint
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.DataBreakpointAccessType
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.DataBreakpointInfoArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.DisassembleArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.DisconnectArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.EvaluateArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.EvaluateArgumentsContext
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ExceptionBreakMode
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ExceptionFilterOptions
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ExceptionInfoArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ExceptionOptions
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ExceptionPathSegment
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.FunctionBreakpoint
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.GotoArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.GotoTargetsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.InitializeRequestArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.InstructionBreakpoint
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.LaunchRequestArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.LoadedSourcesArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.NextArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.PathFormat
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.PauseArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ReadMemoryArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.Request
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.RestartArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.RestartFrameArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ReverseContinueArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.RunInTerminalRequestArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.RunInTerminalRequestArgumentsKind
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ScopesArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetBreakpointsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetDataBreakpointsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetExceptionBreakpointsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetExpressionArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetFunctionBreakpointsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SetVariableArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.Source
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SourceArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SourceBreakpoint
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SourcePresentationHint
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.StackFrameFormat
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.StackTraceArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.StartDebuggingRequestArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.StartDebuggingRequestArgumentsConfiguration
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.StepInTargetsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.SteppingGranularity
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.TerminateArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.TerminateThreadsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.Thread
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ThreadsArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.ValueFormat
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.VariablesArguments
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.VariablesFilter
+ DAP.Types: instance Data.Aeson.Types.FromJSON.FromJSON DAP.Types.WriteMemoryArguments
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Breakpoint
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.BreakpointEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.BreakpointLocation
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Capabilities
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.CapabilitiesEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Checksum
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ChecksumAlgorithm
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ColumnDescriptor
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ColumnDescriptorType
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Command
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.CompletionItem
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.CompletionItemType
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.CompletionsResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ContinueResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ContinuedEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.DataBreakpointAccessType
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.DataBreakpointInfoResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.DisassembleResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.DisassembledInstruction
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ErrorMessage
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ErrorResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.EvaluateArgumentsContext
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.EvaluateResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.EventGroup
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.EventReason
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.EventType
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ExceptionBreakMode
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ExceptionBreakpointsFilter
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ExceptionDetails
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ExceptionInfoResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ExitedEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.GotoTarget
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.GotoTargetsResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.InvalidatedAreas
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.InvalidatedEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.LoadedSourceEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.LoadedSourcesResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.MemoryEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Message
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.MessageType
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Module
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ModuleEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ModulesResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ModulesViewDescriptor
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.OutputEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.OutputEventCategory
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.PresentationHint
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.PresentationHintAttributes
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.PresentationHintKind
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.PresentationHintVisibility
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ProcessEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ProgressEndEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ProgressStartEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ProgressUpdateEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ReadMemoryResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.RunInTerminalResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Scope
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ScopePresentationHint
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ScopesResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.SetExpressionResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.SetVariableResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Source
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.SourcePresentationHint
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.SourceResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Sources
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StackFrame
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StackTraceResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StartMethod
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StepInTarget
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StepInTargetsResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StoppedEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.StoppedEventReason
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.TerminatedEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Thread
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ThreadEvent
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ThreadEventReason
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.ThreadsResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.Variable
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.VariablePresentationHint
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.VariablesResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON DAP.Types.WriteMemoryResponse
+ DAP.Types: instance Data.Aeson.Types.ToJSON.ToJSON breakpoint => Data.Aeson.Types.ToJSON.ToJSON (DAP.Types.Breakpoints breakpoint)
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.AdaptorException
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.AttachRequestArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Breakpoint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.BreakpointEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.BreakpointLocation
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.BreakpointLocationsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CancelArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Capabilities
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CapabilitiesEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Checksum
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ChecksumAlgorithm
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ColumnDescriptor
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ColumnDescriptorType
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Command
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CompletionItem
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CompletionItemType
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CompletionsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.CompletionsResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ConfigurationDoneArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ContinueArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ContinueResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ContinuedEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DataBreakpoint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DataBreakpointAccessType
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DataBreakpointInfoArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DataBreakpointInfoResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DisassembleArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DisassembleResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DisassembledInstruction
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.DisconnectArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ErrorMessage
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ErrorResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EvaluateArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EvaluateArgumentsContext
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EvaluateResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EventGroup
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EventReason
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.EventType
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionBreakMode
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionBreakpointsFilter
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionDetails
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionFilterOptions
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionInfoArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionInfoResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionOptions
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExceptionPathSegment
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ExitedEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.FunctionBreakpoint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.GotoArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.GotoTarget
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.GotoTargetsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.GotoTargetsResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.InitializeRequestArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.InstructionBreakpoint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.InvalidatedAreas
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.InvalidatedEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.LaunchRequestArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.LoadedSourceEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.LoadedSourcesArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.LoadedSourcesResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.MemoryEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Message
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.MessageType
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Module
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ModuleEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ModulesArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ModulesResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ModulesViewDescriptor
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.NextArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.OutputEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.OutputEventCategory
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PathFormat
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PauseArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PresentationHint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PresentationHintAttributes
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PresentationHintKind
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.PresentationHintVisibility
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ProcessEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ProgressEndEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ProgressStartEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ProgressUpdateEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ReadMemoryArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ReadMemoryResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.RestartArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.RestartFrameArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ReverseContinueArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.RunInTerminalRequestArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.RunInTerminalRequestArgumentsKind
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.RunInTerminalResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Scope
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ScopePresentationHint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ScopesArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ScopesResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ServerConfig
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetBreakpointsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetDataBreakpointsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetExceptionBreakpointsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetExpressionArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetExpressionResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetFunctionBreakpointsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetInstructionBreakpointsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetVariableArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SetVariableResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Source
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SourceArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SourceBreakpoint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SourcePresentationHint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SourceResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Sources
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StackFrame
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StackFrameFormat
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StackTraceArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StackTraceResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StartDebuggingRequestArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StartDebuggingRequestArgumentsConfiguration
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StartMethod
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepBackArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepInArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepInTarget
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepInTargetsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepInTargetsResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StepOutArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.SteppingGranularity
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StoppedEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.StoppedEventReason
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.TerminateArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.TerminateThreadsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.TerminatedEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Thread
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ThreadEvent
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ThreadEventReason
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ThreadsArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ThreadsResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.ValueFormat
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.Variable
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.VariablePresentationHint
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.VariablesArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.VariablesFilter
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.VariablesResponse
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.WriteMemoryArguments
+ DAP.Types: instance GHC.Classes.Eq DAP.Types.WriteMemoryResponse
+ DAP.Types: instance GHC.Classes.Eq breakpoint => GHC.Classes.Eq (DAP.Types.Breakpoints breakpoint)
+ DAP.Types: instance GHC.Internal.Base.Applicative (DAP.Types.Adaptor store r)
+ DAP.Types: instance GHC.Internal.Base.Functor (DAP.Types.Adaptor store r)
+ DAP.Types: instance GHC.Internal.Base.Monad (DAP.Types.Adaptor store r)
+ DAP.Types: instance GHC.Internal.Data.String.IsString DAP.Types.ErrorMessage
+ DAP.Types: instance GHC.Internal.Exception.Type.Exception DAP.Types.AdaptorException
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.AttachRequestArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Breakpoint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.BreakpointEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.BreakpointLocation
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.BreakpointLocationsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CancelArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Capabilities
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CapabilitiesEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Checksum
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ColumnDescriptor
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ColumnDescriptorType
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Command
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CompletionItem
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CompletionItemType
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CompletionsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.CompletionsResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ContinueArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ContinueResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ContinuedEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DataBreakpoint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DataBreakpointAccessType
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DataBreakpointInfoArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DataBreakpointInfoResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DisassembleArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DisassembleResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DisassembledInstruction
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.DisconnectArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ErrorMessage
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ErrorResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EvaluateArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EvaluateArgumentsContext
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EvaluateResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EventGroup
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EventReason
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.EventType
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionBreakMode
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionBreakpointsFilter
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionDetails
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionFilterOptions
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionInfoArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionInfoResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionOptions
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExceptionPathSegment
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ExitedEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.FunctionBreakpoint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.GotoArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.GotoTarget
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.GotoTargetsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.GotoTargetsResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.InitializeRequestArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.InstructionBreakpoint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.InvalidatedAreas
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.InvalidatedEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.LaunchRequestArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.MemoryEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Message
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.MessageType
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Module
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ModulesArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ModulesResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ModulesViewDescriptor
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.NextArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.OutputEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.OutputEventCategory
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.PauseArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.PresentationHint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.PresentationHintAttributes
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.PresentationHintKind
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.PresentationHintVisibility
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ProcessEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ProgressEndEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ProgressStartEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ProgressUpdateEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ReadMemoryArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ReadMemoryResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.RestartArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.RestartFrameArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ReverseContinueArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.RunInTerminalRequestArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.RunInTerminalRequestArgumentsKind
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.RunInTerminalResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Scope
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ScopePresentationHint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ScopesArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetDataBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetExceptionBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetExpressionArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetExpressionResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetFunctionBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SetVariableArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Source
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SourceArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SourceBreakpoint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SourcePresentationHint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StackFrame
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StackFrameFormat
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StackTraceArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StartDebuggingRequestArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StartDebuggingRequestArgumentsConfiguration
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StartMethod
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StepInTarget
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StepInTargetsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StepInTargetsResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.SteppingGranularity
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.StoppedEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.TerminateArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.TerminateThreadsArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.TerminatedEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Thread
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ThreadEvent
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ThreadEventReason
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.ValueFormat
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.Variable
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.VariablePresentationHint
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.VariablesArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.VariablesFilter
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.VariablesResponse
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.WriteMemoryArguments
+ DAP.Types: instance GHC.Internal.Generics.Generic DAP.Types.WriteMemoryResponse
+ DAP.Types: instance GHC.Internal.Read.Read DAP.Types.Command
+ DAP.Types: instance GHC.Internal.Read.Read DAP.Types.EventType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.AdaptorException
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.AttachRequestArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Breakpoint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.BreakpointEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.BreakpointLocation
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.BreakpointLocationsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CancelArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Capabilities
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CapabilitiesEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Checksum
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ChecksumAlgorithm
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ColumnDescriptor
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ColumnDescriptorType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Command
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CompletionItem
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CompletionItemType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CompletionsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.CompletionsResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ConfigurationDoneArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ContinueArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ContinueResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ContinuedEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DataBreakpoint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DataBreakpointAccessType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DataBreakpointInfoArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DataBreakpointInfoResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DisassembleArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DisassembleResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DisassembledInstruction
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.DisconnectArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ErrorMessage
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ErrorResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EvaluateArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EvaluateArgumentsContext
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EvaluateResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EventGroup
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EventReason
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.EventType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionBreakMode
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionBreakpointsFilter
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionDetails
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionFilterOptions
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionInfoArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionInfoResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionOptions
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExceptionPathSegment
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ExitedEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.FunctionBreakpoint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.GotoArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.GotoTarget
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.GotoTargetsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.GotoTargetsResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.InitializeRequestArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.InstructionBreakpoint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.InvalidatedAreas
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.InvalidatedEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.LaunchRequestArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.LoadedSourceEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.LoadedSourcesArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.LoadedSourcesResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.MemoryEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Message
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.MessageType
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Module
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ModuleEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ModulesArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ModulesResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ModulesViewDescriptor
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.NextArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.OutputEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.OutputEventCategory
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PathFormat
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PauseArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PresentationHint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PresentationHintAttributes
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PresentationHintKind
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.PresentationHintVisibility
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ProcessEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ProgressEndEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ProgressStartEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ProgressUpdateEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ReadMemoryArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ReadMemoryResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Request
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.RestartArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.RestartFrameArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ReverseContinueArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.RunInTerminalRequestArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.RunInTerminalRequestArgumentsKind
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.RunInTerminalResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Scope
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ScopePresentationHint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ScopesArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ScopesResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ServerConfig
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetDataBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetExceptionBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetExpressionArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetExpressionResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetFunctionBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetInstructionBreakpointsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetVariableArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SetVariableResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Source
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SourceArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SourceBreakpoint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SourcePresentationHint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SourceResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Sources
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StackFrame
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StackFrameFormat
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StackTraceArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StackTraceResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StartDebuggingRequestArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StartDebuggingRequestArgumentsConfiguration
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StartMethod
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepBackArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepInArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepInTarget
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepInTargetsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepInTargetsResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StepOutArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.SteppingGranularity
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StoppedEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.StoppedEventReason
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.TerminateArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.TerminateThreadsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.TerminatedEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Thread
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ThreadEvent
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ThreadEventReason
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ThreadsArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ThreadsResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.ValueFormat
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.Variable
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.VariablePresentationHint
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.VariablesArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.VariablesFilter
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.VariablesResponse
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.WriteMemoryArguments
+ DAP.Types: instance GHC.Internal.Show.Show DAP.Types.WriteMemoryResponse
+ DAP.Types: instance GHC.Internal.Show.Show breakpoint => GHC.Internal.Show.Show (DAP.Types.Breakpoints breakpoint)
+ DAP.Types: newtype Adaptor store r a
+ DAP.Types: newtype Breakpoints breakpoint
+ DAP.Types: newtype ErrorResponse
+ DAP.Types: newtype ScopesResponse
+ DAP.Types: newtype TerminateThreadsArguments
+ DAP.Types: newtype ThreadsResponse
+ DAP.Types: type AppStore app = TVar HashMap SessionId (DebuggerThreadState, app)
+ DAP.Types: type PayloadSize = Int
+ DAP.Types: type Seq = Int
+ DAP.Types: type SessionId = Text
+ DAP.Utils: capitalize :: String -> String
+ DAP.Utils: encodeBaseProtocolMessage :: ToJSON a => a -> ByteString
+ DAP.Utils: genericParseJSONWithModifier :: (Generic a, GFromJSON Zero (Rep a), Typeable a) => Value -> Parser a
+ DAP.Utils: genericToJSONWithModifier :: (Generic a, GToJSON Zero (Rep a), Typeable a) => a -> Value
+ DAP.Utils: getName :: Typeable a => proxy a -> String
+ DAP.Utils: modifier :: Typeable a => proxy a -> String -> String
+ DAP.Utils: toLowerCase :: String -> String
+ DAP.Utils: withBraces :: Text -> Text

Files

CHANGELOG.md view
@@ -1,5 +1,14 @@ # Revision history for dap +## Unreleased -- YYYY-mm-dd++* `Adaptor` has an additional type parameter denoting the type of the request+    we are responding to. Crucially, this will be `Request` when responding to a+    DAP request (e.g. in `send***` functions).+    On the other hand, this will be `()` for the `withAdaptor` continuation+    argument of `registerNewDebugSession` which unlifts `Adaptor` to `IO`+    because, when unlifting, we are not replying to any request.+ ## 0.1.0.0 -- YYYY-mm-dd  * First version. Released on an unsuspecting world.
dap.cabal view
@@ -1,13 +1,13 @@ name:               dap-version:            0.1.0.0+version:            0.2.0.0 description:        A library for the Debug Adaptor Protocol (DAP) synopsis:           A debug adaptor protocol library-bug-reports:        https://github.com/dap/issues+bug-reports:        https://github.com/haskell-debugger/dap/issues license:            BSD3 license-file:       LICENSE author:             David Johnson, Csaba Hruska-maintainer:         djohnson.m@gmail.com-copyright:          (c) 2023 David Johnson+maintainer:         code@dmj.io+copyright:          (c) 2025 David Johnson category:           Debuggers, Language build-type:         Simple tested-with:        GHC==9.2.7@@ -19,7 +19,6 @@ library   exposed-modules:     DAP-  other-modules:     DAP.Adaptor     DAP.Event     DAP.Internal@@ -27,22 +26,24 @@     DAP.Server     DAP.Types     DAP.Utils+    DAP.Log   build-depends:-    aeson                >= 2.0.3  && < 2.1,+    aeson                >= 2.0.3  && < 2.3,     aeson-pretty         >= 0.8.9  && < 0.9,     base                 < 5,-    bytestring           >= 0.11.4 && < 0.12,+    bytestring           >= 0.11.4 && < 0.13,     containers           >= 0.6.5  && < 0.7,     lifted-base          >= 0.2.3  && < 0.3,     monad-control        >= 1.0.3  && < 1.1,-    mtl                  >= 2.2.2  && < 2.3,+    mtl                  >= 2.2.2  && < 2.4,     network              >= 3.1.2  && < 3.2,     network-simple       >= 0.4.5  && < 0.5,-    text                 >= 1.2.5  && < 1.3,+    text                 >= 1.2.5  && < 2.2,     time                 >= 1.11.1 && < 1.12,     unordered-containers >= 0.2.19 && < 0.3,     stm                  >= 2.5.0  && < 2.6,-    transformers-base    >= 0.4.6  && < 0.5+    transformers-base    >= 0.4.6  && < 0.5,+    co-log-core          >= 0.3    && < 0.4   ghc-options:     -Wall   hs-source-dirs:@@ -67,6 +68,7 @@     DAP.Types     DAP.Event     DAP.Utils+    DAP.Log   build-depends:       aeson     , aeson-pretty@@ -86,6 +88,7 @@     , time     , transformers-base     , unordered-containers+    , co-log-core   default-language:     Haskell2010 
src/DAP.hs view
@@ -1,3 +1,4 @@+---------------------------------------------------------------------------- module DAP   ( module DAP.Adaptor   , module DAP.Event@@ -6,10 +7,11 @@   , module DAP.Server   , module DAP.Types   ) where-+---------------------------------------------------------------------------- import DAP.Adaptor import DAP.Event import DAP.Internal import DAP.Response import DAP.Server import DAP.Types+----------------------------------------------------------------------------
src/DAP/Adaptor.hs view
@@ -6,6 +6,7 @@ -- Stability   :  experimental -- Portability :  non-portable ----------------------------------------------------------------------------+{-# LANGUAGE CPP                        #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE DerivingStrategies         #-} {-# LANGUAGE OverloadedStrings          #-}@@ -13,6 +14,7 @@ {-# LANGUAGE DeriveAnyClass             #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE LambdaCase                 #-}+{-# LANGUAGE OverloadedStrings          #-} ---------------------------------------------------------------------------- module DAP.Adaptor   ( -- * Message Construction@@ -50,87 +52,88 @@   -- * Internal function used to execute actions on behalf of the DAP server   -- from child threads (useful for handling asynchronous debugger events).   , runAdaptorWith+  , runAdaptor+  , withRequest+  , getHandle   ) where -----------------------------------------------------------------------------import           Control.Concurrent.MVar    ( modifyMVar_, MVar ) import           Control.Concurrent.Lifted  ( fork, killThread ) import           Control.Exception          ( throwIO ) import           Control.Concurrent.STM     ( atomically, readTVarIO, modifyTVar' ) import           Control.Monad              ( when, unless )-import           Control.Monad.Except       ( runExceptT, throwError )-import           Control.Monad.State        ( runStateT, gets, MonadIO(liftIO), gets, modify' )+import           Control.Monad.Except       ( runExceptT, throwError, mapExceptT )+import           Control.Monad.State        ( runStateT, gets, gets, modify' )+import           Control.Monad.IO.Class     ( liftIO )+import           Control.Monad.Reader       ( asks, ask, runReaderT, withReaderT ) import           Data.Aeson                 ( FromJSON, Result (..), fromJSON ) import           Data.Aeson.Encode.Pretty   ( encodePretty ) import           Data.Aeson.Types           ( object, Key, KeyValue((.=)), ToJSON )+import           Data.IORef                 ( readIORef, writeIORef ) import           Data.Text                  ( unpack, pack ) import           Network.Socket             ( SockAddr ) import           System.IO                  ( Handle ) import qualified Data.ByteString.Lazy.Char8 as BL8 import qualified Data.ByteString.Char8      as BS import qualified Data.HashMap.Strict        as H+import qualified Data.Text as T+import qualified Data.Text.Encoding as TE ---------------------------------------------------------------------------- import           DAP.Types import           DAP.Utils+import           DAP.Log import           DAP.Internal -----------------------------------------------------------------------------logWarn :: BL8.ByteString -> Adaptor app ()+logWarn :: T.Text -> Adaptor app request () logWarn msg = logWithAddr WARN Nothing (withBraces msg) -----------------------------------------------------------------------------logError :: BL8.ByteString -> Adaptor app ()+logError :: T.Text -> Adaptor app request () logError msg = logWithAddr ERROR Nothing (withBraces msg) -----------------------------------------------------------------------------logInfo :: BL8.ByteString -> Adaptor app ()+logInfo :: T.Text -> Adaptor app request () logInfo msg = logWithAddr INFO Nothing (withBraces msg) ---------------------------------------------------------------------------- -- | Meant for internal consumption, used to signify a message has been -- SENT from the server-debugMessage :: BL8.ByteString -> Adaptor app ()-debugMessage msg = do-  shouldLog <- getDebugLogging-  addr <- getAddress-  liftIO-    $ when shouldLog-    $ logger DEBUG addr (Just SENT) msg+debugMessage :: DebugStatus -> BL8.ByteString -> Adaptor app request ()+debugMessage dir msg = do+#if MIN_VERSION_text(2,0,0)+  logWithAddr DEBUG (Just dir) (TE.decodeUtf8Lenient (BL8.toStrict msg))+#else+  logWithAddr DEBUG (Just dir) (TE.decodeUtf8 (BL8.toStrict msg))+#endif ---------------------------------------------------------------------------- -- | Meant for external consumption-logWithAddr :: Level -> Maybe DebugStatus -> BL8.ByteString -> Adaptor app ()+logWithAddr :: Level -> Maybe DebugStatus -> T.Text -> Adaptor app request () logWithAddr level status msg = do   addr <- getAddress-  liftIO (logger level addr status msg)+  logAction <- getLogAction+  liftIO (logger logAction level addr status msg) ---------------------------------------------------------------------------- -- | Meant for external consumption-logger :: Level -> SockAddr -> Maybe DebugStatus -> BL8.ByteString -> IO ()-logger level addr maybeDebug msg = do-  liftIO-    $ withGlobalLock-    $ BL8.putStrLn formatted-  where-    formatted-      = BL8.concat-      [ withBraces $ BL8.pack (show addr)-      , withBraces $ BL8.pack (show level)-      , maybe mempty (withBraces . BL8.pack . show) maybeDebug-      , msg-      ]+logger :: LogAction IO DAPLog -> Level -> SockAddr -> Maybe DebugStatus -> T.Text -> IO ()+logger logAction level addr maybeDebug msg =+  logAction <& DAPLog level maybeDebug addr msg -----------------------------------------------------------------------------getDebugLogging :: Adaptor app Bool-getDebugLogging = gets (debugLogging . serverConfig)+getServerCapabilities :: Adaptor app request Capabilities+getServerCapabilities = asks (serverCapabilities . serverConfig) -----------------------------------------------------------------------------getServerCapabilities :: Adaptor app Capabilities-getServerCapabilities = gets (serverCapabilities . serverConfig)+getAddress :: Adaptor app request SockAddr+getAddress = asks address -----------------------------------------------------------------------------getAddress :: Adaptor app SockAddr-getAddress = gets address+getLogAction :: Adaptor app request (LogAction IO DAPLog)+getLogAction = asks logAction -----------------------------------------------------------------------------getHandle :: Adaptor app Handle-getHandle = gets handle+getHandle :: Adaptor app r Handle+getHandle = asks handle -----------------------------------------------------------------------------getRequestSeqNum :: Adaptor app Seq-getRequestSeqNum = gets (requestSeqNum . request)+getRequestSeqNum :: Adaptor app Request Seq+getRequestSeqNum = asks (requestSeqNum . request) -----------------------------------------------------------------------------getDebugSessionId :: Adaptor app SessionId+getDebugSessionId :: Adaptor app request SessionId getDebugSessionId = do-  gets sessionId >>= \case+  var <- asks (sessionId)+  res <- liftIO $ readIORef var+  case res of     Nothing -> sessionNotFound     Just sessionId -> pure sessionId   where@@ -138,16 +141,17 @@       let err = "No Debug Session has started"       sendError (ErrorMessage (pack err)) Nothing -----------------------------------------------------------------------------setDebugSessionId :: SessionId -> Adaptor app ()-setDebugSessionId session = modify' $ \s -> s { sessionId = Just session }+setDebugSessionId :: SessionId -> Adaptor app request ()+setDebugSessionId session = do+  var <- asks sessionId+  liftIO $ writeIORef var (Just session) ---------------------------------------------------------------------------- registerNewDebugSession   :: SessionId   -> app-  -> IO ()-  -- ^ Action to run debugger (operates in a forked thread that gets killed when disconnect is set)-  -> ((Adaptor app () -> IO ()) -> IO ())-  -- ^ Long running operation, meant to be used as a sink for+  -> [(Adaptor app () () -> IO ()) -> IO ()]+  -- ^ Actions to run debugger (operates in a forked thread that gets killed when disconnect is set)+  -- Long running operation, meant to be used as a sink for   -- the debugger to emit events and for the adaptor to forward to the editor   -- This function should be in a 'forever' loop waiting on the read end of   -- a debugger channel.@@ -157,35 +161,37 @@   -- used when sending events to the editor from the debugger (or from any forked thread).   --   -- >-  -- > registerNewDebugSession sessionId appState loadDebugger $ \withAdaptor ->+  -- > registerNewDebugSession sessionId appState $ loadDebugger : [\withAdaptor ->   -- >   forever $ getDebuggerOutput >>= \output -> do   -- >     withAdaptor $ sendOutputEvent defaultOutputEvent { outputEventOutput = output }-  -- >+  -- >   ]   ---  -> Adaptor app ()-registerNewDebugSession k v debuggerExecution outputEventSink = do-  store <- gets appStore-  adaptorStateMVar <- gets adaptorStateMVar+  -> Adaptor app request ()+registerNewDebugSession k v debuggerConcurrentActions = do+  store <- asks appStore+  lcl <- ask+  let lcl' = lcl { request = () }+  let emptyState = AdaptorState MessageTypeEvent []   debuggerThreadState <- liftIO $     DebuggerThreadState-      <$> fork debuggerExecution-      <*> fork (outputEventSink (runAdaptorWith adaptorStateMVar))+      <$> sequence [fork $ action (runAdaptorWith lcl' emptyState) | action <- debuggerConcurrentActions]   liftIO . atomically $ modifyTVar' store (H.insert k (debuggerThreadState, v))+  logInfo $ T.pack $ "Registered new debug session: " <> unpack k   setDebugSessionId k-  logInfo $ BL8.pack $ "Registered new debug session: " <> unpack k+ -----------------------------------------------------------------------------updateDebugSession :: (app -> app) -> Adaptor app ()+updateDebugSession :: (app -> app) -> Adaptor app request () updateDebugSession updateFun = do   sessionId <- getDebugSessionId-  store <- gets appStore+  store <- asks appStore   liftIO . atomically $ modifyTVar' store (H.adjust (fmap updateFun) sessionId) -----------------------------------------------------------------------------getDebugSession :: Adaptor a a+getDebugSession :: Adaptor a r a getDebugSession = do   (_, _, app) <- getDebugSessionWithThreadIdAndSessionId   pure app -----------------------------------------------------------------------------getDebugSessionWithThreadIdAndSessionId :: Adaptor app (SessionId, DebuggerThreadState, app)+getDebugSessionWithThreadIdAndSessionId :: Adaptor app request (SessionId, DebuggerThreadState, app) getDebugSessionWithThreadIdAndSessionId = do   sessionId <- getDebugSessionId   appStore <- liftIO . readTVarIO =<< getAppStore@@ -205,27 +211,26 @@ -- | Whenever a debug Session ends (cleanly or otherwise) this function -- will remove the local debugger communication state from the global state -----------------------------------------------------------------------------destroyDebugSession :: Adaptor app ()+destroyDebugSession :: Adaptor app request () destroyDebugSession = do   (sessionId, DebuggerThreadState {..}, _) <- getDebugSessionWithThreadIdAndSessionId   store <- getAppStore   liftIO $ do-    killThread debuggerThread-    killThread debuggerOutputEventThread+    mapM_ killThread debuggerThreads     atomically $ modifyTVar' store (H.delete sessionId)-  logInfo $ BL8.pack $ "SessionId " <> unpack sessionId <> " ended"+  logInfo $ T.pack $ "SessionId " <> unpack sessionId <> " ended" -----------------------------------------------------------------------------getAppStore :: Adaptor app (AppStore app)-getAppStore = gets appStore+getAppStore :: Adaptor app request (AppStore app)+getAppStore = asks appStore -----------------------------------------------------------------------------getCommand :: Adaptor app Command-getCommand = command <$> gets request+getCommand :: Adaptor app Request Command+getCommand = command <$> asks request ---------------------------------------------------------------------------- -- | '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 ()+sendRaw :: ToJSON value => value -> Adaptor app request () sendRaw value = do   handle        <- getHandle   address       <- getAddress@@ -237,7 +242,7 @@ -- i.e. "request_seq" and "command". -- We also have to be sure to reset the message payload -----------------------------------------------------------------------------send :: Adaptor app () -> Adaptor app ()+send :: Adaptor app Request () -> Adaptor app Request () send action = do   ()            <- action   cmd           <- getCommand@@ -253,16 +258,39 @@    -- "seq" and "type" must be set for all protocol messages   setField "type" messageType-  unless (messageType == MessageTypeEvent) $-    setField "seq" seqNum+  unless (messageType == MessageTypeEvent) (setField "seq" seqNum)    -- Once all fields are set, fetch the payload for sending   payload <- object <$> gets payload    -- Send payload to client from debug adaptor   writeToHandle address handle payload+  resetAdaptorStatePayload+----------------------------------------------------------------------------+-- | Write event to Handle+sendEvent+  :: Adaptor app request ()+  -> Adaptor app request ()+sendEvent action = do+  ()            <- action+  handle        <- getHandle+  messageType   <- gets messageType+  address       <- getAddress+  let errorMsg =+        "Use 'send' function when responding to a DAP request, "+        <> "'sendEvent' is for responding to events"+  case messageType of+    MessageTypeResponse ->+      sendError (ErrorMessage errorMsg) Nothing+    MessageTypeRequest ->+      sendError (ErrorMessage errorMsg) Nothing+    MessageTypeEvent ->+      setField "type" messageType -  -- Reset payload each time a send occurs+  -- Once all fields are set, fetch the payload for sending+  payload <- object <$> gets payload+  -- Send payload to client from debug adaptor+  writeToHandle address handle payload   resetAdaptorStatePayload ---------------------------------------------------------------------------- -- | Writes payload to the given 'Handle' using the local connection lock@@ -272,31 +300,34 @@   => SockAddr   -> Handle   -> event-  -> Adaptor app ()+  -> Adaptor app request () writeToHandle _ handle evt = do   let msg = encodeBaseProtocolMessage evt-  debugMessage ("\n" <> encodePretty evt)+  debugMessage SENT ("\n" <> encodePretty evt)   withConnectionLock (BS.hPutStr handle msg) ---------------------------------------------------------------------------- -- | Resets Adaptor's payload -----------------------------------------------------------------------------resetAdaptorStatePayload :: Adaptor app ()+resetAdaptorStatePayload :: Adaptor app request () resetAdaptorStatePayload = modify' $ \s -> s { payload = [] } -----------------------------------------------------------------------------sendSuccesfulResponse :: Adaptor app () -> Adaptor app ()+sendSuccesfulResponse :: Adaptor app Request () -> Adaptor app Request () sendSuccesfulResponse action = do  send $ do     setType MessageTypeResponse     setSuccess True     action -----------------------------------------------------------------------------sendSuccesfulEmptyResponse :: Adaptor app ()+sendSuccesfulEmptyResponse :: Adaptor app Request () sendSuccesfulEmptyResponse = sendSuccesfulResponse (pure ()) ---------------------------------------------------------------------------- -- | Sends successful event-sendSuccesfulEvent :: EventType -> Adaptor app () -> Adaptor app ()+sendSuccesfulEvent+  :: EventType+  -> Adaptor app request ()+  -> Adaptor app request () sendSuccesfulEvent event action = do-  send $ do+  sendEvent $ do     setEvent event     setType MessageTypeEvent     action@@ -308,7 +339,7 @@ sendError   :: ErrorMessage   -> Maybe Message-  -> Adaptor app a+  -> Adaptor app request a sendError errorMessage maybeMessage = do   throwError (errorMessage, maybeMessage) ----------------------------------------------------------------------------@@ -317,7 +348,7 @@ sendErrorResponse   :: ErrorMessage   -> Maybe Message-  -> Adaptor app ()+  -> Adaptor app Request () sendErrorResponse errorMessage maybeMessage = do   send $ do     setType MessageTypeResponse@@ -327,24 +358,24 @@ ---------------------------------------------------------------------------- setErrorMessage   :: ErrorMessage-  -> Adaptor app ()+  -> Adaptor app request () setErrorMessage v = setField "message" v ---------------------------------------------------------------------------- -- | Sends successful event setSuccess   :: Bool-  -> Adaptor app ()+  -> Adaptor app request () setSuccess = setField "success" ---------------------------------------------------------------------------- setBody   :: ToJSON value   => value-  -> Adaptor app ()+  -> Adaptor app request () setBody value = setField "body" value ---------------------------------------------------------------------------- setType   :: MessageType-  -> Adaptor app ()+  -> Adaptor app request () setType messageType = do   modify' $ \adaptorState ->     adaptorState@@ -353,14 +384,14 @@ ---------------------------------------------------------------------------- setEvent   :: EventType-  -> Adaptor app ()+  -> Adaptor app request () setEvent = setField "event" ---------------------------------------------------------------------------- setField   :: ToJSON value   => Key   -> value-  -> Adaptor app ()+  -> Adaptor app request () setField key value = do   currentPayload <- gets payload   modify' $ \adaptorState ->@@ -370,41 +401,50 @@ ---------------------------------------------------------------------------- withConnectionLock   :: IO ()-  -> Adaptor app ()+  -> Adaptor app request () withConnectionLock action = do-  lock <- gets handleLock+  lock <- asks handleLock   liftIO (withLock lock action) ---------------------------------------------------------------------------- -- | Attempt to parse arguments from the Request ---------------------------------------------------------------------------- getArguments   :: (Show value, FromJSON value)-  => Adaptor app value+  => Adaptor app Request value getArguments = do-  maybeArgs <- gets (args . request)+  maybeArgs <- asks (args . request)   let msg = "No args found for this message"   case maybeArgs of     Nothing -> do-      logError (BL8.pack msg)+      logError msg       liftIO $ throwIO (ExpectedArguments msg)     Just val ->       case fromJSON val of         Success r -> pure r-        x -> do-          logError (BL8.pack (show x))-          liftIO $ throwIO (ParseException (show x))-+        Error reason -> do+          logError (T.pack reason)+          liftIO $ throwIO (ParseException reason) ---------------------------------------------------------------------------- -- | Evaluates Adaptor action by using and updating the state in the MVar-runAdaptorWith :: MVar (AdaptorState app) -> Adaptor app () -> IO ()-runAdaptorWith adaptorStateMVar action = do-  modifyMVar_ adaptorStateMVar (flip runAdaptor (resetAdaptorStatePayload >> action))-+runAdaptorWith :: AdaptorLocal app request -> AdaptorState -> Adaptor app request () -> IO ()+runAdaptorWith lcl st (Adaptor action) = do+  (es,final_st) <- runStateT (runReaderT (runExceptT action) lcl) st+  case es of+    Left err -> error ("runAdaptorWith, unhandled exception:" <> show err)+    Right () -> case final_st of+      AdaptorState _ p ->+        if null p+          then return ()+          else error $ "runAdaptorWith, unexpected payload:" <> show p ---------------------------------------------------------------------------- -- | Utility for evaluating a monad transformer stack-runAdaptor :: AdaptorState app -> Adaptor app () -> IO (AdaptorState app)-runAdaptor adaptorState (Adaptor client) =-  runStateT (runExceptT client) adaptorState >>= \case-    (Left (errorMessage, maybeMessage), nextState) ->-      runAdaptor nextState (sendErrorResponse errorMessage maybeMessage)-    (Right (), nextState) -> pure nextState+runAdaptor :: AdaptorLocal app Request -> AdaptorState -> Adaptor app Request () -> IO ()+runAdaptor lcl s (Adaptor client) =+  runStateT (runReaderT (runExceptT client) lcl) s >>= \case+    (Left (errorMessage, maybeMessage), s') ->+      runAdaptor lcl s' (sendErrorResponse errorMessage maybeMessage)+    (Right (), _) -> pure ()+----------------------------------------------------------------------------++withRequest :: Request -> Adaptor app Request a -> Adaptor app r a+withRequest r (Adaptor client) = Adaptor (mapExceptT (withReaderT (\lcl -> lcl { request = r })) client)
src/DAP/Event.hs view
@@ -50,13 +50,13 @@ import           DAP.Types import           DAP.Adaptor -----------------------------------------------------------------------------sendBreakpointEvent :: BreakpointEvent -> Adaptor app ()+sendBreakpointEvent :: BreakpointEvent -> Adaptor app Request () sendBreakpointEvent = sendSuccesfulEvent EventTypeBreakpoint . setBody -----------------------------------------------------------------------------sendCapabilitiesEvent :: CapabilitiesEvent -> Adaptor app ()+sendCapabilitiesEvent :: CapabilitiesEvent -> Adaptor app Request () sendCapabilitiesEvent = sendSuccesfulEvent EventTypeCapabilities . setBody -----------------------------------------------------------------------------sendContinuedEvent :: ContinuedEvent -> Adaptor app ()+sendContinuedEvent :: ContinuedEvent -> Adaptor app Request () sendContinuedEvent = sendSuccesfulEvent EventTypeContinued . setBody ---------------------------------------------------------------------------- defaultContinuedEvent :: ContinuedEvent@@ -66,7 +66,7 @@   , continuedEventAllThreadsContinued = False   } -----------------------------------------------------------------------------sendExitedEvent :: ExitedEvent -> Adaptor app ()+sendExitedEvent :: ExitedEvent -> Adaptor app Request () sendExitedEvent = sendSuccesfulEvent EventTypeExited . setBody ---------------------------------------------------------------------------- defaultExitedEvent :: ExitedEvent@@ -75,10 +75,10 @@   { exitedEventExitCode = 0   } -----------------------------------------------------------------------------sendInitializedEvent :: Adaptor app ()+sendInitializedEvent :: Adaptor app Request () sendInitializedEvent = sendSuccesfulEvent EventTypeInitialized (pure ()) -----------------------------------------------------------------------------sendInvalidatedEvent :: InvalidatedEvent -> Adaptor app ()+sendInvalidatedEvent :: InvalidatedEvent -> Adaptor app Request () sendInvalidatedEvent = sendSuccesfulEvent EventTypeInvalidated . setBody ---------------------------------------------------------------------------- defaultInvalidatedEvent :: InvalidatedEvent@@ -90,10 +90,10 @@   }  -----------------------------------------------------------------------------sendLoadedSourceEvent :: LoadedSourceEvent -> Adaptor app ()+sendLoadedSourceEvent :: LoadedSourceEvent -> Adaptor app Request () sendLoadedSourceEvent = sendSuccesfulEvent EventTypeLoadedSource . setBody -----------------------------------------------------------------------------sendMemoryEvent :: MemoryEvent -> Adaptor app ()+sendMemoryEvent :: MemoryEvent -> Adaptor app Request () sendMemoryEvent = sendSuccesfulEvent EventTypeMemory . setBody ---------------------------------------------------------------------------- defaultMemoryEvent :: MemoryEvent@@ -104,10 +104,10 @@   , memoryEventCount            = 0   } -----------------------------------------------------------------------------sendModuleEvent :: ModuleEvent -> Adaptor app ()+sendModuleEvent :: ModuleEvent -> Adaptor app Request () sendModuleEvent = sendSuccesfulEvent EventTypeModule . setBody -----------------------------------------------------------------------------sendOutputEvent :: OutputEvent -> Adaptor app ()+sendOutputEvent :: OutputEvent -> Adaptor app request () sendOutputEvent = sendSuccesfulEvent EventTypeOutput . setBody ---------------------------------------------------------------------------- defaultOutputEvent :: OutputEvent@@ -123,7 +123,7 @@   , outputEventData               = Nothing   } -----------------------------------------------------------------------------sendProcessEvent :: ProcessEvent -> Adaptor app ()+sendProcessEvent :: ProcessEvent -> Adaptor app Request () sendProcessEvent = sendSuccesfulEvent EventTypeProcess . setBody ---------------------------------------------------------------------------- defaultProcessEvent :: ProcessEvent@@ -136,7 +136,7 @@   , processEventPointerSize     = Nothing   } -----------------------------------------------------------------------------sendProgressEndEvent :: ProgressEndEvent -> Adaptor app ()+sendProgressEndEvent :: ProgressEndEvent -> Adaptor app Request () sendProgressEndEvent = sendSuccesfulEvent EventTypeProgressEnd . setBody ---------------------------------------------------------------------------- defaultProgressEndEvent :: ProgressEndEvent@@ -146,7 +146,7 @@   , progressEndEventMessage     = Nothing   } -----------------------------------------------------------------------------sendProgressStartEvent :: ProgressStartEvent -> Adaptor app ()+sendProgressStartEvent :: ProgressStartEvent -> Adaptor app Request () sendProgressStartEvent = sendSuccesfulEvent EventTypeProgressStart . setBody ---------------------------------------------------------------------------- defaultProgressStartEvent :: ProgressStartEvent@@ -160,7 +160,7 @@   , progressStartEventPercentage  = Nothing   } -----------------------------------------------------------------------------sendProgressUpdateEvent :: ProgressUpdateEvent -> Adaptor app ()+sendProgressUpdateEvent :: ProgressUpdateEvent -> Adaptor app Request () sendProgressUpdateEvent = sendSuccesfulEvent EventTypeProgressUpdate . setBody ---------------------------------------------------------------------------- defaultProgressUpdateEvent :: ProgressUpdateEvent@@ -171,7 +171,7 @@   , progressUpdateEventPercentage = Nothing   } -----------------------------------------------------------------------------sendStoppedEvent :: StoppedEvent -> Adaptor app ()+sendStoppedEvent :: StoppedEvent -> Adaptor app Request () sendStoppedEvent = sendSuccesfulEvent EventTypeStopped . setBody ---------------------------------------------------------------------------- defaultStoppedEvent :: StoppedEvent@@ -186,7 +186,7 @@   , stoppedEventHitBreakpointIds  = []   } -----------------------------------------------------------------------------sendTerminatedEvent :: TerminatedEvent -> Adaptor app ()+sendTerminatedEvent :: TerminatedEvent -> Adaptor app Request () sendTerminatedEvent = sendSuccesfulEvent EventTypeTerminated . setBody ---------------------------------------------------------------------------- defaultTerminatedEvent :: TerminatedEvent@@ -195,7 +195,7 @@   { terminatedEventRestart = False   } -----------------------------------------------------------------------------sendThreadEvent :: ThreadEvent -> Adaptor app ()+sendThreadEvent :: ThreadEvent -> Adaptor app Request () sendThreadEvent = sendSuccesfulEvent EventTypeThread . setBody ---------------------------------------------------------------------------- defaultThreadEvent :: ThreadEvent
src/DAP/Internal.hs view
@@ -9,16 +9,9 @@ ---------------------------------------------------------------------------- module DAP.Internal   ( withLock-  , withGlobalLock   ) where -----------------------------------------------------------------------------import           Control.Concurrent         ( modifyMVar_, newMVar, MVar )-import           System.IO.Unsafe           ( unsafePerformIO )-------------------------------------------------------------------------------- | Used for logging in the presence of multiple threads.-lock :: MVar ()-{-# NOINLINE lock #-}-lock = unsafePerformIO $ newMVar ()+import           Control.Concurrent ---------------------------------------------------------------------------- -- | Used for performing actions (e.g. printing debug logs to stdout) -- Also used for writing to each connections Handle.@@ -28,12 +21,4 @@ -- withLock :: MVar () -> IO () -> IO () withLock mvar action = modifyMVar_ mvar $ \x -> x <$ action-------------------------------------------------------------------------------- | 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 ()-withGlobalLock = withLock lock ----------------------------------------------------------------------------
+ src/DAP/Log.hs view
@@ -0,0 +1,46 @@+module DAP.Log (+    DebugStatus (..)+  , DAPLog(..)+  , LogAction(..)+  , Level(..)+  , (<&)+  , cmap+  , cfilter+  , mkDebugMessage+  , renderDAPLog+) where++import Data.Text (Text)+import           Network.Socket                  ( SockAddr )+import Colog.Core+import qualified Data.Text as T+import DAP.Utils++----------------------------------------------------------------------------+data Level = DEBUG | INFO | WARN | ERROR+  deriving (Show, Eq)+----------------------------------------------------------------------------+data DebugStatus = SENT | RECEIVED+  deriving (Show, Eq)++data DAPLog =+  DAPLog {+      severity :: Level+    , mDebugStatus :: Maybe DebugStatus+    , addr     :: SockAddr+    , message  :: Text+    }+  | GenericMessage { severity :: Level, message :: Text }++mkDebugMessage :: Text -> DAPLog+mkDebugMessage  = GenericMessage DEBUG++renderDAPLog :: DAPLog -> Text+renderDAPLog (GenericMessage _ t) = t+renderDAPLog (DAPLog level maybeDebug log_addr msg) = T.concat+      [ withBraces $ T.pack (show log_addr)+      , withBraces $ T.pack (show level)+      , maybe mempty (withBraces . T.pack . show) maybeDebug+      , msg+      ]+
src/DAP/Response.hs view
@@ -64,13 +64,13 @@ import           DAP.Types ---------------------------------------------------------------------------- -- | AttachResponse has no body by default-sendAttachResponse :: Adaptor app ()+sendAttachResponse :: Adaptor app Request () sendAttachResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | BreakpointLocationResponse has no body by default sendBreakpointLocationsResponse   :: [BreakpointLocation]-  -> Adaptor app ()+  -> Adaptor app Request () sendBreakpointLocationsResponse   = sendSuccesfulResponse   . setBody@@ -79,7 +79,7 @@ -- | 'SetDataBreakpointsResponse' sendSetDataBreakpointsResponse   :: [Breakpoint]-  -> Adaptor app ()+  -> Adaptor app Request () sendSetDataBreakpointsResponse   = sendSuccesfulResponse   . setBody@@ -88,7 +88,7 @@ -- | BreakpointResponse has no body by default sendSetBreakpointsResponse   :: [Breakpoint]-  -> Adaptor app ()+  -> Adaptor app Request () sendSetBreakpointsResponse   = sendSuccesfulResponse   . setBody@@ -97,7 +97,7 @@ -- | SetInstructionsBreakpointResponse has no body by default sendSetInstructionBreakpointsResponse   :: [Breakpoint]-  -> Adaptor app ()+  -> Adaptor app Request () sendSetInstructionBreakpointsResponse   = sendSuccesfulResponse   . setBody@@ -106,7 +106,7 @@ -- | SetFunctionBreakpointResponse has no body by default sendSetFunctionBreakpointsResponse   :: [Breakpoint]-  -> Adaptor app ()+  -> Adaptor app Request () sendSetFunctionBreakpointsResponse   = sendSuccesfulResponse   . setBody@@ -115,7 +115,7 @@ -- | SetExceptionBreakpointsResponse has no body by default sendSetExceptionBreakpointsResponse   :: [Breakpoint]-  -> Adaptor app ()+  -> Adaptor app Request () sendSetExceptionBreakpointsResponse   = sendSuccesfulResponse   . setBody@@ -124,147 +124,147 @@ -- | ContinueResponse sendContinueResponse   :: ContinueResponse-  -> Adaptor app ()+  -> Adaptor app Request () sendContinueResponse continueResponse = do   sendSuccesfulResponse (setBody continueResponse) ---------------------------------------------------------------------------- -- | ConfigurationDoneResponse sendConfigurationDoneResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendConfigurationDoneResponse = do   sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | LaunchResponse sendLaunchResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendLaunchResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | RestartResponse sendRestartResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendRestartResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | DisconnectResponse sendDisconnectResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendDisconnectResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | TerminateResponse sendTerminateResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendTerminateResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | NextResponse sendNextResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendNextResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | StepInResponse sendStepInResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendStepInResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | StepOutResponse sendStepOutResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendStepOutResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | StepBackResponse sendStepBackResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendStepBackResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | ReverseContinueResponse sendReverseContinueResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendReverseContinueResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | RestartFrameResponse sendRestartFrameResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendRestartFrameResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | InitializeReponse sendInitializeResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendInitializeResponse = do   capabilities <- getServerCapabilities   sendSuccesfulResponse (setBody capabilities) ---------------------------------------------------------------------------- -- | GotoResponse sendGotoResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendGotoResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | GotoTargetsResponse sendGotoTargetsResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendGotoTargetsResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | PauseResponse sendPauseResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendPauseResponse = sendSuccesfulEmptyResponse ---------------------------------------------------------------------------- -- | TerminateThreadsResponse sendTerminateThreadsResponse-  :: Adaptor app ()+  :: Adaptor app Request () sendTerminateThreadsResponse = sendSuccesfulEmptyResponse -----------------------------------------------------------------------------sendModulesResponse :: ModulesResponse -> Adaptor app ()+sendModulesResponse :: ModulesResponse -> Adaptor app Request () sendModulesResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendStackTraceResponse :: StackTraceResponse -> Adaptor app ()+sendStackTraceResponse :: StackTraceResponse -> Adaptor app Request () sendStackTraceResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendSourceResponse :: SourceResponse -> Adaptor app ()+sendSourceResponse :: SourceResponse -> Adaptor app Request () sendSourceResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendThreadsResponse :: [Thread] -> Adaptor app ()+sendThreadsResponse :: [Thread] -> Adaptor app Request () sendThreadsResponse = sendSuccesfulResponse . setBody . ThreadsResponse -----------------------------------------------------------------------------sendLoadedSourcesResponse :: [Source] -> Adaptor app ()+sendLoadedSourcesResponse :: [Source] -> Adaptor app Request () sendLoadedSourcesResponse = sendSuccesfulResponse . setBody . LoadedSourcesResponse -----------------------------------------------------------------------------sendWriteMemoryResponse :: WriteMemoryResponse -> Adaptor app ()+sendWriteMemoryResponse :: WriteMemoryResponse -> Adaptor app Request () sendWriteMemoryResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendReadMemoryResponse :: ReadMemoryResponse -> Adaptor app ()+sendReadMemoryResponse :: ReadMemoryResponse -> Adaptor app Request () sendReadMemoryResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendCompletionsResponse :: CompletionsResponse -> Adaptor app ()+sendCompletionsResponse :: CompletionsResponse -> Adaptor app Request () sendCompletionsResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendDataBreakpointInfoResponse :: DataBreakpointInfoResponse -> Adaptor app ()+sendDataBreakpointInfoResponse :: DataBreakpointInfoResponse -> Adaptor app Request () sendDataBreakpointInfoResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendDisassembleResponse :: DisassembleResponse -> Adaptor app ()+sendDisassembleResponse :: DisassembleResponse -> Adaptor app Request () sendDisassembleResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendEvaluateResponse :: EvaluateResponse -> Adaptor app ()+sendEvaluateResponse :: EvaluateResponse -> Adaptor app Request () sendEvaluateResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendExceptionInfoResponse :: ExceptionInfoResponse -> Adaptor app ()+sendExceptionInfoResponse :: ExceptionInfoResponse -> Adaptor app Request () sendExceptionInfoResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendScopesResponse :: ScopesResponse -> Adaptor app ()+sendScopesResponse :: ScopesResponse -> Adaptor app Request () sendScopesResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendSetExpressionResponse :: SetExpressionResponse -> Adaptor app ()+sendSetExpressionResponse :: SetExpressionResponse -> Adaptor app Request () sendSetExpressionResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendSetVariableResponse :: SetVariableResponse -> Adaptor app ()+sendSetVariableResponse :: SetVariableResponse -> Adaptor app Request () sendSetVariableResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendStepInTargetsResponse :: StepInTargetsResponse -> Adaptor app ()+sendStepInTargetsResponse :: StepInTargetsResponse -> Adaptor app Request () sendStepInTargetsResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendVariablesResponse :: VariablesResponse -> Adaptor app ()+sendVariablesResponse :: VariablesResponse -> Adaptor app Request () sendVariablesResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendRunInTerminalResponse :: RunInTerminalResponse -> Adaptor app ()+sendRunInTerminalResponse :: RunInTerminalResponse -> Adaptor app Request () sendRunInTerminalResponse = sendSuccesfulResponse . setBody -----------------------------------------------------------------------------sendStartDebuggingResponse :: Adaptor app ()+sendStartDebuggingResponse :: Adaptor app Request () sendStartDebuggingResponse = sendSuccesfulEmptyResponse ----------------------------------------------------------------------------
src/DAP/Server.hs view
@@ -15,123 +15,155 @@ {-# LANGUAGE NamedFieldPuns             #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE LambdaCase                 #-}+{-# LANGUAGE ViewPatterns               #-} ---------------------------------------------------------------------------- module DAP.Server   ( runDAPServer+  , runDAPServerWithLogger   , readPayload+  , TerminateServer(..)   ) where -----------------------------------------------------------------------------import           Control.Concurrent.MVar    ( MVar )-import           Control.Monad              ( when )-import           Control.Concurrent.MVar    ( newMVar, newEmptyMVar, modifyMVar_-                                            , putMVar, readMVar )+import           Control.Monad              ( when, forever )+import           Control.Concurrent         ( ThreadId, myThreadId, throwTo )+import           Control.Concurrent.MVar    ( newMVar ) import           Control.Concurrent.STM     ( newTVarIO )-import           Control.Exception          ( SomeException+import           Control.Exception          ( Exception+                                            , SomeAsyncException(..)+                                            , SomeException                                             , IOException                                             , catch                                             , fromException+                                            , toException                                             , throwIO ) import           Control.Monad              ( void )-import           Control.Monad.State        ( gets ) import           Data.Aeson                 ( decodeStrict, eitherDecode, Value, FromJSON ) import           Data.Aeson.Encode.Pretty   ( encodePretty ) import           Data.ByteString            ( ByteString ) import           Data.Char                  ( isDigit )+import           Data.IORef                 ( newIORef ) import           Network.Simple.TCP         ( serve, HostPreference(Host) ) import           Network.Socket             ( socketToHandle, withSocketsDo, SockAddr ) import           System.IO                  ( hClose, hSetNewlineMode, Handle, Newline(CRLF)                                             , NewlineMode(NewlineMode, outputNL, inputNL)-                                            , IOMode(ReadWriteMode) )+                                            , IOMode(ReadWriteMode), stderr, hPrint) import           System.IO.Error            ( isEOFError )+import           System.Exit                ( exitWith, ExitCode(ExitSuccess) ) import           Text.Read                  ( readMaybe ) import qualified Data.ByteString.Lazy.Char8 as BL8 import qualified Data.ByteString.Char8      as BS+import qualified Data.Text as T+import qualified Data.Text.IO as T+import Control.Monad.Reader ---------------------------------------------------------------------------- import           DAP.Types import           DAP.Internal import           DAP.Utils import           DAP.Adaptor+import           DAP.Log -----------------------------------------------------------------------------runDAPServer-  :: ServerConfig++stdoutLogger :: IO (LogAction IO T.Text)+stdoutLogger = do+  handleLock               <- newMVar ()+  return $ LogAction $ \msg -> do+    withLock handleLock $ do+      T.putStrLn msg++-- | An exception to throw if you want to stop the server execution from a+-- client. This is useful if you launch a new server per debugging session and+-- want to terminate it at the end.+data TerminateServer = TerminateServer+  deriving (Show, Exception)++runDAPServer :: ServerConfig -> (Command -> Adaptor app Request ()) -> IO ()+runDAPServer config communicate = do+  l <- stdoutLogger+  runDAPServerWithLogger (cmap renderDAPLog l) config communicate++runDAPServerWithLogger+  :: LogAction IO DAPLog+  -> ServerConfig   -- ^ Top-level Server configuration, global across all debug sessions-  -> (Command -> Adaptor app ())+  -> (Command -> Adaptor app Request ())   -- ^ A function to facilitate communication between DAP clients, debug adaptors and debuggers   -> IO ()-runDAPServer serverConfig@ServerConfig {..} communicate = withSocketsDo $ do-  when debugLogging $ putStrLn ("Running DAP server on " <> show port <> "...")+runDAPServerWithLogger rawLogAction serverConfig@ServerConfig {..} communicate = withSocketsDo $ do+  let logAction = cfilter (\msg -> if debugLogging then True else severity msg /= DEBUG) rawLogAction+  logAction <& (mkDebugMessage $ (T.pack ("Running DAP server on " <> show port <> "...")))   appStore <- newTVarIO mempty-  serve (Host host) (show port) $ \(socket, address) -> do-    when debugLogging $ do-      withGlobalLock $ do-        putStrLn $ "TCP connection established from " ++ show address-    handle <- socketToHandle socket ReadWriteMode-    hSetNewlineMode handle NewlineMode { inputNL = CRLF, outputNL = CRLF }-    request <- getRequest handle address serverConfig-    adaptorStateMVar <- initAdaptorState handle address appStore serverConfig request-    serviceClient communicate adaptorStateMVar `catch` exceptionHandler handle address debugLogging+  mainThread <- myThreadId+  let+    server = serve (Host host) (show port) $ \(socket, address) -> do+      logAction <& mkDebugMessage (T.pack ("TCP connection established from " ++ show address))+      handle <- socketToHandle socket ReadWriteMode+      hSetNewlineMode handle NewlineMode { inputNL = CRLF, outputNL = CRLF }+      adaptorStateMVar <- initAdaptorState logAction handle address appStore serverConfig+      serviceClient communicate adaptorStateMVar+        `catch` exceptionHandler logAction handle address debugLogging mainThread+  server `catch` \(SomeAsyncException e) ->+    case fromException $ toException e of+      Just TerminateServer -> exitWith ExitSuccess+      _                    -> throwIO e  -- | Initializes the Adaptor -- initAdaptorState-  :: Handle+  :: LogAction IO DAPLog+  -> Handle   -> SockAddr   -> AppStore app   -> ServerConfig-  -> Request-  -> IO (MVar (AdaptorState app))-initAdaptorState handle address appStore serverConfig request = do+  -> IO (AdaptorLocal app ())+initAdaptorState logAction handle address appStore serverConfig = do   handleLock               <- newMVar ()-  sessionId                <- pure Nothing-  adaptorStateMVar         <- newEmptyMVar-  putMVar adaptorStateMVar AdaptorState-    { messageType = MessageTypeResponse-    , payload = []-    , ..+  sessionId                <- newIORef Nothing+  let request = ()+  pure AdaptorLocal+    { ..     }-  pure adaptorStateMVar ---------------------------------------------------------------------------- -- | Communication loop between editor and adaptor -- Evaluates the current 'Request' located in the 'AdaptorState' -- Fetches, updates and recurses on the next 'Request' -- serviceClient-  :: (Command -> Adaptor app ())-  -> MVar (AdaptorState app)+  :: (Command -> Adaptor app Request ())+  -> AdaptorLocal app r   -> IO ()-serviceClient communicate adaptorStateMVar = do-  runAdaptorWith adaptorStateMVar $ do-    request <- gets request-    communicate (command request)--  -- HINT: getRequest is a blocking action so we use readMVar to leave MVar available-  AdaptorState { address, handle, serverConfig } <- readMVar adaptorStateMVar-  nextRequest <- getRequest handle address serverConfig-  modifyMVar_ adaptorStateMVar $ \s -> pure s { request = nextRequest }--  -- loop: serve the next request-  serviceClient communicate adaptorStateMVar-+serviceClient communicate lcl = forever $ runAdaptorWith lcl st $ do+    nextRequest <- getRequest+    withRequest nextRequest (communicate (command nextRequest))+  where+    st = AdaptorState MessageTypeResponse [] ------------------------------------------------------------------------------- | Handle exceptions from client threads, parse and log accordingly-exceptionHandler :: Handle -> SockAddr -> Bool -> SomeException -> IO ()-exceptionHandler handle address shouldLog (e :: SomeException) = do+-- | Handle exceptions from client threads, parse and log accordingly.+-- Detects if client failed with `TerminateServer` and kills the server accordingly by sending an exception to the main thread.+exceptionHandler :: LogAction IO DAPLog -> Handle -> SockAddr -> Bool -> ThreadId -> SomeException -> IO ()+exceptionHandler logAction handle address shouldLog serverThread (e :: SomeException) = do   let     dumpError+      | Just TerminateServer      <- fromException e+          = do+            logger logAction ERROR address Nothing+              $ withBraces+              $ T.pack ("Server terminated!")+            throwTo serverThread (SomeAsyncException TerminateServer)       | Just (ParseException msg) <- fromException e-          = logger ERROR address Nothing+          = logger logAction ERROR address Nothing             $ withBraces-            $ BL8.pack ("Parse Exception encountered: " <> msg)+            $ T.pack ("Parse Exception encountered: " <> msg)       | Just (err :: IOException) <- fromException e, isEOFError err-          = logger INFO address (Just SENT)+          = logger logAction INFO address (Just SENT)             $ withBraces "Client has ended its connection"       | otherwise-          = logger ERROR address Nothing+          = logger logAction ERROR address Nothing             $ withBraces-            $ BL8.pack ("Unknown Exception: " <> show e)+            $ T.pack ("Unknown Exception: " <> show e)+  hPrint stderr ("Handling" <> show e)   when shouldLog $ do     dumpError-    logger INFO address (Just SENT) (withBraces "Closing Connection")+    logger logAction INFO address (Just SENT) (withBraces "Closing Connection")   hClose handle ---------------------------------------------------------------------------- -- | Internal function for parsing a 'ProtocolMessage' header@@ -140,36 +172,43 @@ -- 'parseHeader' Attempts to parse 'Content-Length: <byte-count>' -- Helper function for parsing message headers -- e.g. ("Content-Length: 11\r\n")-getRequest :: Handle -> SockAddr -> ServerConfig -> IO Request-getRequest handle addr ServerConfig {..} = do-  headerBytes <- BS.hGetLine handle-  void (BS.hGetLine handle)-  parseHeader headerBytes >>= \case+getRequest :: Adaptor app r Request+getRequest = do+  handle <- getHandle+  header <- liftIO $ getHeaderHandle handle+  case header of     Left errorMessage -> do-      logger ERROR addr Nothing (BL8.pack errorMessage)-      throwIO (ParseException errorMessage)+      logError (T.pack errorMessage)+      liftIO $ throwIO (ParseException errorMessage)     Right count -> do-      body <- BS.hGet handle count-      when debugLogging $ do-        logger DEBUG addr (Just RECEIVED)+      body <- liftIO $ BS.hGet handle count+      debugMessage RECEIVED           ("\n" <> encodePretty (decodeStrict body :: Maybe Value))       case eitherDecode (BL8.fromStrict body) of         Left couldn'tDecodeBody -> do-          logger ERROR addr Nothing (BL8.pack couldn'tDecodeBody)-          throwIO (ParseException couldn'tDecodeBody)+          logError (T.pack couldn'tDecodeBody)+          liftIO $ throwIO (ParseException couldn'tDecodeBody)         Right request ->           pure request++getHeaderHandle :: Handle -> IO (Either String PayloadSize)+getHeaderHandle handle = do+  headerBytes <- BS.hGetLine handle+  void (BS.hGetLine handle)+  pure $ parseHeader headerBytes++ ---------------------------------------------------------------------------- -- | Parses the HeaderPart of all ProtocolMessages-parseHeader :: ByteString -> IO (Either String PayloadSize)-parseHeader bytes = do+parseHeader :: ByteString -> Either String PayloadSize+parseHeader bytes =   let byteSize = BS.takeWhile isDigit (BS.drop (BS.length "Content-Length: ") bytes)-  case readMaybe (BS.unpack byteSize) of-    Just contentLength ->-      pure (Right contentLength)-    Nothing ->-      pure $ Left ("Invalid payload: " <> BS.unpack bytes)-+  in case readMaybe (BS.unpack byteSize) of+        Just contentLength ->+          Right contentLength+        Nothing ->+          Left ("Invalid payload: " <> BS.unpack bytes)+---------------------------------------------------------------------------- -- | Helper function to parse a 'ProtocolMessage', extracting it's body. -- used for testing. --@@ -177,8 +216,9 @@ readPayload handle = do   headerBytes <- BS.hGetLine handle   void (BS.hGetLine handle)-  parseHeader headerBytes >>= \case+  case parseHeader headerBytes of     Left e -> pure (Left e)     Right count -> do       body <- BS.hGet handle count       pure $ eitherDecode (BL8.fromStrict body)+----------------------------------------------------------------------------
src/DAP/Types.hs view
@@ -81,6 +81,7 @@   , TerminatedEvent                    (..)   , ThreadEvent                        (..)   , OutputEvent                        (..)+  , OutputEventCategory                (..)   , BreakpointEvent                    (..)   , ModuleEvent                        (..)   , LoadedSourceEvent                  (..)@@ -96,7 +97,9 @@     -- * Client   , Adaptor                            (..)   , AdaptorState                       (..)+  , AdaptorLocal(..)   , AppStore+  , MonadIO(..)     -- * Errors   , AdaptorException                   (..)   , ErrorMessage                       (..)@@ -194,23 +197,24 @@   , defaultValueFormat   , defaultVariable   , defaultVariablePresentationHint-    -- * Log level-  , Level (..)-  , DebugStatus (..)   -- * Debug Thread state   , DebuggerThreadState (..)   ) where ----------------------------------------------------------------------------+import           Control.Applicative             ( (<|>) ) import           Control.Monad.Base              ( MonadBase ) import           Control.Monad.Except            ( MonadError, ExceptT ) import           Control.Monad.Trans.Control     ( MonadBaseControl ) import           Control.Concurrent              ( ThreadId ) import           Control.Concurrent.MVar         ( MVar )-import           Control.Applicative             ( (<|>) )+import           Control.Monad.IO.Class          ( MonadIO )+import           Control.Monad.Reader            ( MonadReader, ReaderT )+import           Control.Monad.State             ( MonadState, StateT )+import           Data.IORef                      ( IORef ) import           Data.Typeable                   ( typeRep ) import           Control.Concurrent.STM          ( TVar ) import           Control.Exception               ( Exception )-import           Control.Monad.State             ( StateT, MonadState, MonadIO )+import           Control.Monad.Reader            ( ) import           Data.Aeson                      ( (.:), (.:?), withObject, withText, object                                                  , FromJSON(parseJSON), Value, KeyValue((.=))                                                  , ToJSON(toJSON), genericParseJSON, defaultOptions@@ -224,28 +228,31 @@ import           System.IO                       ( Handle ) import           Text.Read                       ( readMaybe ) import           Data.Text                       (Text)-import qualified Data.Text                       as T ( pack, unpack )+import qualified Data.Text                       as T ( pack, unpack , Text) import qualified Data.HashMap.Strict             as H+import Colog.Core ---------------------------------------------------------------------------- import           DAP.Utils                       ( capitalize, getName, genericParseJSONWithModifier, genericToJSONWithModifier )+import DAP.Log ---------------------------------------------------------------------------- -- | 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)+newtype Adaptor store r a =+    Adaptor (ExceptT (ErrorMessage, Maybe Message) (ReaderT (AdaptorLocal store r) (StateT AdaptorState IO)) a)   deriving newtype     ( Monad-    , MonadIO, Applicative, Functor, MonadState (AdaptorState store)+    , MonadIO, Applicative, Functor, MonadReader (AdaptorLocal store r)+    , MonadState AdaptorState     , MonadBaseControl IO     , MonadError (ErrorMessage, Maybe Message)     , MonadBase IO     ) ---------------------------------------------------------------------------- -- | The adaptor state is local to a single connection / thread-data AdaptorState app+data AdaptorState   = AdaptorState   { messageType  :: MessageType     -- ^ Current message type being created@@ -257,7 +264,12 @@     -- This should never be manually modified by the end user     -- The payload is accumulated automatically by usage of the API     ---  , appStore     :: AppStore app+    --+  }+----------------------------------------------------------------------------+-- | The adaptor local config+data AdaptorLocal app request = AdaptorLocal+  { appStore     :: AppStore app     -- ^ Global app store, accessible on a per session basis     -- Initialized during 'attach' sessions     --@@ -268,23 +280,22 @@   , handle              :: Handle     -- ^ Connection Handle     ---  , request             :: Request-    -- ^ Connection Request information     --   , address             :: SockAddr     -- ^ Address of Connection     ---  , sessionId           :: Maybe SessionId+  , sessionId           :: IORef (Maybe SessionId)     -- ^ Session ID     -- Local to the current connection's debugger session     ---  , adaptorStateMVar    :: MVar (AdaptorState app)-    -- ^ Shared state for serializable concurrency-    --   , handleLock          :: MVar ()     -- ^ A lock for writing to a Handle. One lock is created per connection     -- and exists for the duration of that connection+  , logAction          :: LogAction IO DAPLog+    -- ^ Where to send log output     --+  , request             :: request+    -- ^ Connection Request information, if we are responding to a request.   }  ----------------------------------------------------------------------------@@ -295,17 +306,15 @@ -- allows initalized debuggers to emit custom events -- when they receive messages from the debugger type AppStore app = TVar (H.HashMap SessionId (DebuggerThreadState, app))-+---------------------------------------------------------------------------- -- | '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-  { debuggerThread :: ThreadId-  , debuggerOutputEventThread :: ThreadId+  { debuggerThreads :: [ThreadId]   }- ---------------------------------------------------------------------------- data ServerConfig   = ServerConfig@@ -318,9 +327,9 @@ -- | Used to signify a malformed message has been received data AdaptorException   = ParseException String-  | ExpectedArguments String-  | DebugSessionIdException String-  | DebuggerException String+  | ExpectedArguments T.Text+  | DebugSessionIdException T.Text+  | DebuggerException T.Text   deriving stock (Show, Eq)   deriving anyclass Exception ----------------------------------------------------------------------------@@ -876,10 +885,12 @@   | EventTypeProgressEnd   | EventTypeInvalidated   | EventTypeMemory+  | EventTypeCustom Text   deriving stock (Show, Eq, Read, Generic) ---------------------------------------------------------------------------- instance ToJSON EventType where-  toJSON = genericToJSONWithModifier+  toJSON (EventTypeCustom e) = toJSON e+  toJSON e = genericToJSONWithModifier e ---------------------------------------------------------------------------- data Command   = CommandCancel@@ -2295,11 +2306,11 @@   toJSON reason = genericToJSONWithModifier reason ---------------------------------------------------------------------------- data OutputEventCategory-  = Console-  | Important-  | Stdout-  | Stderr-  | Telemetry+  = OutputEventCategoryConsole+  | OutputEventCategoryImportant+  | OutputEventCategoryStdout+  | OutputEventCategoryStderr+  | OutputEventCategoryTelemetry   | OutputEventCategory Text   deriving stock (Show, Eq, Generic) ----------------------------------------------------------------------------@@ -2974,7 +2985,7 @@     -- ^     -- Deprecated: The code locations of the breakpoints.     ---  , setBreakpointsArgumentsSourceModified :: Bool+  , setBreakpointsArgumentsSourceModified :: Maybe Bool     -- ^     -- A value of true indicates that the underlying source has been modified     -- which results in new breakpoint locations.@@ -4019,9 +4030,3 @@ ---------------------------------------------------------------------------- instance FromJSON ThreadsArguments where    parseJSON _ = pure ThreadsArguments------------------------------------------------------------------------------data Level = DEBUG | INFO | WARN | ERROR-  deriving (Show, Eq)------------------------------------------------------------------------------data DebugStatus = SENT | RECEIVED-  deriving (Show, Eq)
src/DAP/Utils.hs view
@@ -32,6 +32,7 @@ import           Data.Typeable              ( Typeable, typeRep ) import qualified Data.ByteString.Lazy.Char8 as BL8 import qualified Data.ByteString.Char8      as BS+import qualified Data.Text as T ---------------------------------------------------------------------------- -- | Encodes DAP protocol message appropriately -- >@@ -110,6 +111,6 @@   } ---------------------------------------------------------------------------- -- | Log formatting util-withBraces :: BL8.ByteString -> BL8.ByteString+withBraces :: T.Text -> T.Text withBraces x  = "[" <> x <> "]" ----------------------------------------------------------------------------
test/Main.hs view
@@ -106,7 +106,7 @@ -- mockServerTalk   :: Command-  -> Adaptor app ()+  -> Adaptor app Request () mockServerTalk CommandInitialize = do   sendInitializeResponse   sendInitializedEvent