Path: blob/main/extensions/copilot/src/platform/languageContextProvider/common/languageContextProviderService.ts
13401 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 type { CancellationToken, Disposable, TextDocument } from 'vscode';6import { Copilot } from '../../../platform/inlineCompletions/common/api';7import { createServiceIdentifier } from '../../../util/common/services';8import { ContextItem } from '../../languageServer/common/languageContextService';910export enum ProviderTarget {11NES = 'nes',12Completions = 'completions',13}1415export const ILanguageContextProviderService = createServiceIdentifier<ILanguageContextProviderService>('ILanguageContextProviderService');1617export interface ILanguageContextProviderService {18readonly _serviceBrand: undefined;1920registerContextProvider<T extends Copilot.SupportedContextItem>(provider: Copilot.ContextProvider<T>, targets: ProviderTarget[]): Disposable;2122getAllProviders(target: ProviderTarget[]): readonly Copilot.ContextProvider<Copilot.SupportedContextItem>[];2324getContextProviders(doc: TextDocument, target: ProviderTarget): Copilot.ContextProvider<Copilot.SupportedContextItem>[];2526getContextItems(doc: TextDocument, request: Copilot.ResolveRequest, cancellationToken: CancellationToken): AsyncIterable<ContextItem>;2728getContextItemsOnTimeout(doc: TextDocument, request: Copilot.ResolveRequest): ContextItem[];29}303132