Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/platform/languageContextProvider/common/languageContextProviderService.ts
13401 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 type { CancellationToken, Disposable, TextDocument } from 'vscode';
7
import { Copilot } from '../../../platform/inlineCompletions/common/api';
8
import { createServiceIdentifier } from '../../../util/common/services';
9
import { ContextItem } from '../../languageServer/common/languageContextService';
10
11
export enum ProviderTarget {
12
NES = 'nes',
13
Completions = 'completions',
14
}
15
16
export const ILanguageContextProviderService = createServiceIdentifier<ILanguageContextProviderService>('ILanguageContextProviderService');
17
18
export interface ILanguageContextProviderService {
19
readonly _serviceBrand: undefined;
20
21
registerContextProvider<T extends Copilot.SupportedContextItem>(provider: Copilot.ContextProvider<T>, targets: ProviderTarget[]): Disposable;
22
23
getAllProviders(target: ProviderTarget[]): readonly Copilot.ContextProvider<Copilot.SupportedContextItem>[];
24
25
getContextProviders(doc: TextDocument, target: ProviderTarget): Copilot.ContextProvider<Copilot.SupportedContextItem>[];
26
27
getContextItems(doc: TextDocument, request: Copilot.ResolveRequest, cancellationToken: CancellationToken): AsyncIterable<ContextItem>;
28
29
getContextItemsOnTimeout(doc: TextDocument, request: Copilot.ResolveRequest): ContextItem[];
30
}
31
32