Path: blob/main/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';6import { ICodeBlockActionContextProvider, IChatCodeBlockContextProviderService } from './chat.js';78export class ChatCodeBlockContextProviderService implements IChatCodeBlockContextProviderService {9declare _serviceBrand: undefined;10private readonly _providers = new Map<string, ICodeBlockActionContextProvider>();1112get providers(): ICodeBlockActionContextProvider[] {13return [...this._providers.values()];14}15registerProvider(provider: ICodeBlockActionContextProvider, id: string): IDisposable {16this._providers.set(id, provider);17return toDisposable(() => this._providers.delete(id));18}19}202122