Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
7
import { ICodeBlockActionContextProvider, IChatCodeBlockContextProviderService } from './chat.js';
8
9
export class ChatCodeBlockContextProviderService implements IChatCodeBlockContextProviderService {
10
declare _serviceBrand: undefined;
11
private readonly _providers = new Map<string, ICodeBlockActionContextProvider>();
12
13
get providers(): ICodeBlockActionContextProvider[] {
14
return [...this._providers.values()];
15
}
16
registerProvider(provider: ICodeBlockActionContextProvider, id: string): IDisposable {
17
this._providers.set(id, provider);
18
return toDisposable(() => this._providers.delete(id));
19
}
20
}
21
22