Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/common/services/languageFeatures.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 { LanguageFeatureRegistry, NotebookInfoResolver } from '../languageFeatureRegistry.js';
7
import { CodeActionProvider, CodeLensProvider, CompletionItemProvider, DeclarationProvider, DefinitionProvider, DocumentColorProvider, DocumentFormattingEditProvider, DocumentHighlightProvider, DocumentDropEditProvider, DocumentPasteEditProvider, DocumentRangeFormattingEditProvider, DocumentRangeSemanticTokensProvider, DocumentSemanticTokensProvider, DocumentSymbolProvider, EvaluatableExpressionProvider, FoldingRangeProvider, HoverProvider, ImplementationProvider, InlayHintsProvider, InlineCompletionsProvider, InlineValuesProvider, LinkedEditingRangeProvider, LinkProvider, MultiDocumentHighlightProvider, NewSymbolNamesProvider, OnTypeFormattingEditProvider, ReferenceProvider, RenameProvider, SelectionRangeProvider, SignatureHelpProvider, TypeDefinitionProvider } from '../languages.js';
8
import { createDecorator } from '../../../platform/instantiation/common/instantiation.js';
9
10
export const ILanguageFeaturesService = createDecorator<ILanguageFeaturesService>('ILanguageFeaturesService');
11
12
export interface ILanguageFeaturesService {
13
14
readonly _serviceBrand: undefined;
15
16
readonly referenceProvider: LanguageFeatureRegistry<ReferenceProvider>;
17
18
readonly definitionProvider: LanguageFeatureRegistry<DefinitionProvider>;
19
20
readonly typeDefinitionProvider: LanguageFeatureRegistry<TypeDefinitionProvider>;
21
22
readonly declarationProvider: LanguageFeatureRegistry<DeclarationProvider>;
23
24
readonly implementationProvider: LanguageFeatureRegistry<ImplementationProvider>;
25
26
readonly codeActionProvider: LanguageFeatureRegistry<CodeActionProvider>;
27
28
readonly documentPasteEditProvider: LanguageFeatureRegistry<DocumentPasteEditProvider>;
29
30
readonly renameProvider: LanguageFeatureRegistry<RenameProvider>;
31
32
readonly newSymbolNamesProvider: LanguageFeatureRegistry<NewSymbolNamesProvider>;
33
34
readonly documentFormattingEditProvider: LanguageFeatureRegistry<DocumentFormattingEditProvider>;
35
36
readonly documentRangeFormattingEditProvider: LanguageFeatureRegistry<DocumentRangeFormattingEditProvider>;
37
38
readonly onTypeFormattingEditProvider: LanguageFeatureRegistry<OnTypeFormattingEditProvider>;
39
40
readonly documentSymbolProvider: LanguageFeatureRegistry<DocumentSymbolProvider>;
41
42
readonly inlayHintsProvider: LanguageFeatureRegistry<InlayHintsProvider>;
43
44
readonly colorProvider: LanguageFeatureRegistry<DocumentColorProvider>;
45
46
readonly codeLensProvider: LanguageFeatureRegistry<CodeLensProvider>;
47
48
readonly signatureHelpProvider: LanguageFeatureRegistry<SignatureHelpProvider>;
49
50
readonly hoverProvider: LanguageFeatureRegistry<HoverProvider>;
51
52
readonly documentHighlightProvider: LanguageFeatureRegistry<DocumentHighlightProvider>;
53
54
readonly multiDocumentHighlightProvider: LanguageFeatureRegistry<MultiDocumentHighlightProvider>;
55
56
readonly documentRangeSemanticTokensProvider: LanguageFeatureRegistry<DocumentRangeSemanticTokensProvider>;
57
58
readonly documentSemanticTokensProvider: LanguageFeatureRegistry<DocumentSemanticTokensProvider>;
59
60
readonly selectionRangeProvider: LanguageFeatureRegistry<SelectionRangeProvider>;
61
62
readonly foldingRangeProvider: LanguageFeatureRegistry<FoldingRangeProvider>;
63
64
readonly linkProvider: LanguageFeatureRegistry<LinkProvider>;
65
66
readonly inlineCompletionsProvider: LanguageFeatureRegistry<InlineCompletionsProvider>;
67
68
readonly completionProvider: LanguageFeatureRegistry<CompletionItemProvider>;
69
70
readonly linkedEditingRangeProvider: LanguageFeatureRegistry<LinkedEditingRangeProvider>;
71
72
readonly inlineValuesProvider: LanguageFeatureRegistry<InlineValuesProvider>;
73
74
readonly evaluatableExpressionProvider: LanguageFeatureRegistry<EvaluatableExpressionProvider>;
75
76
readonly documentDropEditProvider: LanguageFeatureRegistry<DocumentDropEditProvider>;
77
78
// --
79
80
setNotebookTypeResolver(resolver: NotebookInfoResolver | undefined): void;
81
}
82
83