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 +9/−0
- dap.cabal +13/−10
- src/DAP.hs +3/−1
- src/DAP/Adaptor.hs +146/−106
- src/DAP/Event.hs +17/−17
- src/DAP/Internal.hs +1/−16
- src/DAP/Log.hs +46/−0
- src/DAP/Response.hs +43/−43
- src/DAP/Server.hs +117/−77
- src/DAP/Types.hs +42/−37
- src/DAP/Utils.hs +2/−1
- test/Main.hs +1/−1
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