private void RegisterCapabilities(InitializeRequestArguments capabilities) { capabilities.SupportsRunInTerminalRequest = capabilities.SupportsRunInTerminalRequest || _collection.ContainsHandler(typeof(IRunInTerminalHandler)); capabilities.SupportsProgressReporting = capabilities.SupportsProgressReporting || _collection.ContainsHandler(typeof(IProgressStartHandler)) && _collection.ContainsHandler(typeof(IProgressUpdateHandler)) && _collection.ContainsHandler(typeof(IProgressEndHandler)); }
internal DebugAdapterClient( IOptions <DebugAdapterClientOptions> options, InitializeRequestArguments clientSettings, DebugAdapterSettingsBag settingsBag, DebugAdapterHandlerCollection collection, IEnumerable <OnDebugAdapterClientStartedDelegate> onClientStartedDelegates, DapReceiver receiver, IResponseRouter responseRouter, IServiceProvider serviceProvider, IDebugAdapterClientProgressManager debugAdapterClientProgressManager, Connection connection, IEnumerable <OnDebugAdapterClientInitializeDelegate> initializeDelegates, IEnumerable <IOnDebugAdapterClientInitialize> initializeHandlers, IEnumerable <OnDebugAdapterClientInitializedDelegate> initializedDelegates, IEnumerable <IOnDebugAdapterClientInitialized> initializedHandlers, IEnumerable <IOnDebugAdapterClientStarted> startedHandlers ) : base(collection, responseRouter) { _settingsBag = settingsBag; ClientSettings = clientSettings; _collection = collection; _startedDelegates = onClientStartedDelegates; _receiver = receiver; _serviceProvider = serviceProvider; ProgressManager = debugAdapterClientProgressManager; _connection = connection; _initializeDelegates = initializeDelegates; _initializeHandlers = initializeHandlers; _initializedDelegates = initializedDelegates; _initializedHandlers = initializedHandlers; _startedHandlers = startedHandlers; _concurrency = options.Value.Concurrency; _disposable.Add(collection.Add(this)); }
public void PathFormat_Should_Be_Serializable() { var options = new InitializeRequestArguments() { PathFormat = PathFormat.Uri }; Action a = () => new DapSerializer().SerializeObject(options); a.Should().NotThrow(); }
protected async Task HandleInitializeRequest( InitializeRequestArguments initializeParams, EditorSession editorSession, RequestContext <object, object> requestContext) { // Send the Initialized event first so that we get breakpoints await requestContext.SendEvent( InitializedEvent.Type, null); // Now send the Initialize response to continue setup await requestContext.SendResult(new object()); }
public async Task <InitializeResponse> Handle(InitializeRequestArguments request, CancellationToken cancellationToken) { // Clear any existing breakpoints before proceeding await _debugService.ClearAllBreakpointsAsync().ConfigureAwait(false); // Now send the Initialize response to continue setup return(new InitializeResponse { SupportsConfigurationDoneRequest = true, SupportsFunctionBreakpoints = true, SupportsConditionalBreakpoints = true, SupportsHitConditionalBreakpoints = true, SupportsSetVariable = true }); }
async Task <InitializeResponse> IRequestHandler <InitializeRequestArguments, InitializeResponse> .Handle( InitializeRequestArguments request, CancellationToken cancellationToken ) { _settingsBag.ClientSettings = request; await DebugAdapterEventingHelper.Run( _initializeDelegates, (handler, ct) => handler(this, request, ct), _initializeHandlers.Union(_collection.Select(z => z.Handler).OfType <IOnDebugAdapterServerInitialize>()), (handler, ct) => handler.OnInitialize(this, request, ct), _concurrency, cancellationToken ).ConfigureAwait(false); var response = new InitializeResponse { AdditionalModuleColumns = _capabilities.AdditionalModuleColumns, ExceptionBreakpointFilters = _capabilities.ExceptionBreakpointFilters, SupportedChecksumAlgorithms = _capabilities.SupportedChecksumAlgorithms, SupportsCompletionsRequest = _capabilities.SupportsCompletionsRequest || _collection.ContainsHandler(typeof(ICompletionsHandler)), SupportsConditionalBreakpoints = _capabilities.SupportsConditionalBreakpoints, SupportsDataBreakpoints = _capabilities.SupportsDataBreakpoints || _collection.ContainsHandler(typeof(IDataBreakpointInfoHandler)) || _collection.ContainsHandler(typeof(ISetDataBreakpointsHandler)), SupportsDisassembleRequest = _capabilities.SupportsDisassembleRequest || _collection.ContainsHandler(typeof(IDisassembleHandler)), SupportsExceptionOptions = _capabilities.SupportsExceptionOptions, SupportsFunctionBreakpoints = _capabilities.SupportsFunctionBreakpoints || _collection.ContainsHandler(typeof(ISetFunctionBreakpointsHandler)), SupportsLogPoints = _capabilities.SupportsLogPoints, SupportsModulesRequest = _capabilities.SupportsModulesRequest || _collection.ContainsHandler(typeof(IModuleHandler)), SupportsRestartFrame = _capabilities.SupportsRestartFrame || _collection.ContainsHandler(typeof(IRestartFrameHandler)), SupportsRestartRequest = _capabilities.SupportsRestartRequest || _collection.ContainsHandler(typeof(IRestartHandler)), SupportsSetExpression = _capabilities.SupportsSetExpression || _collection.ContainsHandler(typeof(ISetExpressionHandler)), SupportsSetVariable = _capabilities.SupportsSetVariable || _collection.ContainsHandler(typeof(ISetVariableHandler)), SupportsStepBack = _capabilities.SupportsStepBack || _collection.ContainsHandler(typeof(IStepBackHandler)) && _collection.ContainsHandler(typeof(IReverseContinueHandler)), SupportsTerminateRequest = _capabilities.SupportsTerminateRequest || _collection.ContainsHandler(typeof(ITerminateHandler)), SupportTerminateDebuggee = _capabilities.SupportTerminateDebuggee, SupportsConfigurationDoneRequest = _capabilities.SupportsConfigurationDoneRequest || _collection.ContainsHandler(typeof(IConfigurationDoneHandler)), SupportsEvaluateForHovers = _capabilities.SupportsEvaluateForHovers, SupportsExceptionInfoRequest = _capabilities.SupportsExceptionInfoRequest || _collection.ContainsHandler(typeof(IExceptionInfoHandler)), SupportsGotoTargetsRequest = _capabilities.SupportsGotoTargetsRequest || _collection.ContainsHandler(typeof(IGotoTargetsHandler)), SupportsHitConditionalBreakpoints = _capabilities.SupportsHitConditionalBreakpoints, SupportsLoadedSourcesRequest = _capabilities.SupportsLoadedSourcesRequest || _collection.ContainsHandler(typeof(ILoadedSourcesHandler)), SupportsReadMemoryRequest = _capabilities.SupportsReadMemoryRequest || _collection.ContainsHandler(typeof(IReadMemoryHandler)), SupportsTerminateThreadsRequest = _capabilities.SupportsTerminateThreadsRequest || _collection.ContainsHandler(typeof(ITerminateThreadsHandler)), SupportsValueFormattingOptions = _capabilities.SupportsValueFormattingOptions, SupportsDelayedStackTraceLoading = _capabilities.SupportsDelayedStackTraceLoading, SupportsStepInTargetsRequest = _capabilities.SupportsStepInTargetsRequest || _collection.ContainsHandler(typeof(IStepInTargetsHandler)), SupportsCancelRequest = _capabilities.SupportsCancelRequest || _collection.ContainsHandler(typeof(ICancelHandler)), SupportsClipboardContext = _capabilities.SupportsClipboardContext, SupportsInstructionBreakpoints = _capabilities.SupportsInstructionBreakpoints || _collection.ContainsHandler(typeof(ISetInstructionBreakpointsHandler)), SupportsSteppingGranularity = _capabilities.SupportsSteppingGranularity, SupportsBreakpointLocationsRequest = _capabilities.SupportsBreakpointLocationsRequest || _collection.ContainsHandler(typeof(IBreakpointLocationsHandler)) }; _settingsBag.ServerSettings = response; await DebugAdapterEventingHelper.Run( _initializedDelegates, (handler, ct) => handler(this, request, response, ct), _initializedHandlers.Union(_collection.Select(z => z.Handler).OfType <IOnDebugAdapterServerInitialized>()), (handler, ct) => handler.OnInitialized(this, request, response, ct), _concurrency, cancellationToken ).ConfigureAwait(false); _receiver.Initialized(); _initializeComplete.OnNext(response); _initializeComplete.OnCompleted(); return(response); }