Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.ts
3297 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 { ConfigMigration } from './config/configMigration.js';
7
import { Registry } from '../../../../../platform/registry/common/platform.js';
8
import { LifecyclePhase } from '../../../../services/lifecycle/common/lifecycle.js';
9
import { IWorkbenchContributionsRegistry, Extensions, IWorkbenchContribution } from '../../../../common/contributions.js';
10
import { PromptLinkProvider } from './languageProviders/promptLinkProvider.js';
11
import { PromptLinkDiagnosticsInstanceManager } from './languageProviders/promptLinkDiagnosticsProvider.js';
12
import { PromptHeaderDiagnosticsInstanceManager } from './languageProviders/promptHeaderDiagnosticsProvider.js';
13
import { PromptBodyAutocompletion } from './languageProviders/promptBodyAutocompletion.js';
14
import { PromptHeaderAutocompletion } from './languageProviders/promptHeaderAutocompletion.js';
15
import { PromptHeaderHoverProvider } from './languageProviders/promptHeaderHovers.js';
16
import { PromptHeaderDefinitionProvider } from './languageProviders/PromptHeaderDefinitionProvider.js';
17
18
19
/**
20
* Function that registers all prompt-file related contributions.
21
*/
22
export function registerPromptFileContributions(): void {
23
24
// all language constributions
25
26
registerContribution(PromptLinkProvider);
27
registerContribution(PromptLinkDiagnosticsInstanceManager);
28
registerContribution(PromptHeaderDiagnosticsInstanceManager);
29
/**
30
* PromptDecorationsProviderInstanceManager is currently disabled because the only currently
31
* available decoration is the Front Matter header, which we decided to disable for now.
32
* Add it back when more decorations are needed.
33
*/
34
// registerContribution(PromptDecorationsProviderInstanceManager); ,
35
36
37
registerContribution(PromptBodyAutocompletion);
38
registerContribution(PromptHeaderAutocompletion);
39
registerContribution(PromptHeaderHoverProvider);
40
registerContribution(PromptHeaderDefinitionProvider);
41
registerContribution(ConfigMigration);
42
}
43
44
/**
45
* Type for a generic workbench contribution.
46
*/
47
export type TContribution = new (...args: any[]) => IWorkbenchContribution;
48
49
/**
50
* Register a specific workbench contribution.
51
*/
52
function registerContribution(contribution: TContribution): void {
53
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(contribution, LifecyclePhase.Eventually);
54
}
55
56