Path: blob/main/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.ts
5283 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 { IWorkbenchContribution } from '../../../../common/contributions.js';6import { PromptLinkProvider } from './languageProviders/promptLinkProvider.js';7import { PromptBodyAutocompletion } from './languageProviders/promptBodyAutocompletion.js';8import { PromptHeaderAutocompletion } from './languageProviders/promptHeaderAutocompletion.js';9import { PromptHoverProvider } from './languageProviders/promptHovers.js';10import { PromptHeaderDefinitionProvider } from './languageProviders/PromptHeaderDefinitionProvider.js';11import { PromptValidatorContribution } from './languageProviders/promptValidator.js';12import { PromptDocumentSemanticTokensProvider } from './languageProviders/promptDocumentSemanticTokensProvider.js';13import { PromptCodeActionProvider } from './languageProviders/promptCodeActions.js';14import { ILanguageFeaturesService } from '../../../../../editor/common/services/languageFeatures.js';15import { Disposable } from '../../../../../base/common/lifecycle.js';16import { ALL_PROMPTS_LANGUAGE_SELECTOR } from './promptTypes.js';17import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';1819export class PromptLanguageFeaturesProvider extends Disposable implements IWorkbenchContribution {20static readonly ID = 'chat.promptLanguageFeatures';2122constructor(23@ILanguageFeaturesService languageService: ILanguageFeaturesService,24@IInstantiationService instantiationService: IInstantiationService,25) {26super();2728this._register(languageService.linkProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptLinkProvider)));29this._register(languageService.completionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptBodyAutocompletion)));30this._register(languageService.completionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHeaderAutocompletion)));31this._register(languageService.hoverProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHoverProvider)));32this._register(languageService.definitionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptHeaderDefinitionProvider)));33this._register(languageService.documentSemanticTokensProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptDocumentSemanticTokensProvider)));34this._register(languageService.codeActionProvider.register(ALL_PROMPTS_LANGUAGE_SELECTOR, instantiationService.createInstance(PromptCodeActionProvider)));3536this._register(instantiationService.createInstance(PromptValidatorContribution));37}38}394041