import { LanguagesExt, Position, Selection, RawColorInfo, WorkspaceEditDto, PluginInfo, Plugin, InlayHintsDto, InlayHintDto, IdentifiableInlineCompletions, HoverWithId } from '../common/plugin-api-rpc'; import { RPCProtocol } from '../common/rpc-protocol'; import * as theia from '@theia/plugin'; import { DocumentsExtImpl } from './documents'; import { PluginModel } from '../common/plugin-protocol'; import { URI } from './types-impl'; import { UriComponents } from '../common/uri-components'; import { CompletionContext, CompletionResultDto, Completion, SignatureHelp, DocumentHighlight, Range, TextEdit, FormattingOptions, Definition, DocumentLink, CodeLensSymbol, DocumentSymbol, ReferenceContext, Location, ColorPresentation, RenameLocation, SignatureHelpContext, CodeActionContext, CodeAction, FoldingRange, SelectionRange, ChainedCacheId, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, LinkedEditingRanges, EvaluatableExpression, InlineValue, InlineValueContext, TypeHierarchyItem, InlineCompletionContext, DocumentDropEdit, DataTransferDTO, HoverContext } from '../common/plugin-api-rpc-model'; import { SymbolInformation } from '@theia/core/shared/vscode-languageserver-protocol'; import { Event } from '@theia/core/lib/common/event'; import { CommandRegistryImpl } from './command-registry'; import { BinaryBuffer } from '@theia/core/lib/common/buffer'; import { FileSystemExtImpl } from './file-system-ext-impl'; export declare class LanguagesExtImpl implements LanguagesExt { private readonly documents; private readonly commands; private readonly filesSystem; private proxy; private readonly diagnostics; private linkProviderRegistration?; private callId; private adaptersMap; constructor(rpc: RPCProtocol, documents: DocumentsExtImpl, commands: CommandRegistryImpl, filesSystem: FileSystemExtImpl); dispose(): void; get onDidChangeDiagnostics(): Event; getLanguages(): Promise; changeLanguage(uri: URI, languageId: string): Promise; setLanguageConfiguration(language: string, configuration: theia.LanguageConfiguration): theia.Disposable; private nextCallId; private createDisposable; private addNewAdapter; private withAdapter; private transformDocumentSelector; private doTransformDocumentSelector; private registerLinkProviderIfNotYetRegistered; $provideCompletionItems(handle: number, resource: UriComponents, position: Position, context: CompletionContext, token: theia.CancellationToken): Promise; $resolveCompletionItem(handle: number, chainedId: ChainedCacheId, token: theia.CancellationToken): Promise; $releaseCompletionItems(handle: number, id: number): void; registerCompletionItemProvider(selector: theia.DocumentSelector, provider: theia.CompletionItemProvider, triggerCharacters: string[], pluginInfo: PluginInfo): theia.Disposable; registerInlineCompletionsProvider(selector: theia.DocumentSelector, provider: theia.InlineCompletionItemProvider): theia.Disposable; $provideInlineCompletions(handle: number, resource: UriComponents, position: Position, context: InlineCompletionContext, token: theia.CancellationToken): Promise; $freeInlineCompletionsList(handle: number, pid: number): void; $provideDefinition(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerDefinitionProvider(selector: theia.DocumentSelector, provider: theia.DefinitionProvider, pluginInfo: PluginInfo): theia.Disposable; $provideDeclaration(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerDeclarationProvider(selector: theia.DocumentSelector, provider: theia.DeclarationProvider, pluginInfo: PluginInfo): theia.Disposable; $provideSignatureHelp(handle: number, resource: UriComponents, position: Position, context: SignatureHelpContext, token: theia.CancellationToken): Promise; $releaseSignatureHelp(handle: number, id: number): void; registerSignatureHelpProvider(selector: theia.DocumentSelector, provider: theia.SignatureHelpProvider, metadata: theia.SignatureHelpProviderMetadata, pluginInfo: PluginInfo): theia.Disposable; getDiagnostics(resource?: URI): theia.Diagnostic[] | [URI, theia.Diagnostic[]][]; createDiagnosticCollection(name?: string): theia.DiagnosticCollection; $provideImplementation(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerImplementationProvider(selector: theia.DocumentSelector, provider: theia.ImplementationProvider, pluginInfo: PluginInfo): theia.Disposable; $provideTypeDefinition(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerTypeDefinitionProvider(selector: theia.DocumentSelector, provider: theia.TypeDefinitionProvider, pluginInfo: PluginInfo): theia.Disposable; registerHoverProvider(selector: theia.DocumentSelector, provider: theia.HoverProvider, pluginInfo: PluginInfo): theia.Disposable; $provideHover(handle: number, resource: UriComponents, position: Position, context: HoverContext<{ id: number; }> | undefined, token: theia.CancellationToken): Promise; $releaseHover(handle: number, id: number): void; registerEvaluatableExpressionProvider(selector: theia.DocumentSelector, provider: theia.EvaluatableExpressionProvider, pluginInfo: PluginInfo): theia.Disposable; $provideEvaluatableExpression(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerInlineValuesProvider(selector: theia.DocumentSelector, provider: theia.InlineValuesProvider, pluginInfo: PluginInfo): theia.Disposable; $provideInlineValues(handle: number, resource: UriComponents, range: Range, context: InlineValueContext, token: theia.CancellationToken): Promise; registerDocumentHighlightProvider(selector: theia.DocumentSelector, provider: theia.DocumentHighlightProvider, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentHighlights(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerWorkspaceSymbolProvider(provider: theia.WorkspaceSymbolProvider, pluginInfo: PluginInfo): theia.Disposable; $provideWorkspaceSymbols(handle: number, query: string, token: theia.CancellationToken): PromiseLike; $resolveWorkspaceSymbol(handle: number, symbol: SymbolInformation, token: theia.CancellationToken): PromiseLike; registerDocumentFormattingEditProvider(selector: theia.DocumentSelector, provider: theia.DocumentFormattingEditProvider, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentFormattingEdits(handle: number, resource: UriComponents, options: FormattingOptions, token: theia.CancellationToken): Promise; $provideDocumentDropEdits(handle: number, resource: UriComponents, position: Position, dataTransfer: DataTransferDTO, token: theia.CancellationToken): Promise; registerDocumentDropEditProvider(selector: theia.DocumentSelector, provider: theia.DocumentDropEditProvider, metadata?: theia.DocumentDropEditProviderMetadata): theia.Disposable; registerDocumentRangeFormattingEditProvider(selector: theia.DocumentSelector, provider: theia.DocumentRangeFormattingEditProvider, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentRangeFormattingEdits(handle: number, resource: UriComponents, range: Range, options: FormattingOptions, token: theia.CancellationToken): Promise; registerOnTypeFormattingEditProvider(selector: theia.DocumentSelector, provider: theia.OnTypeFormattingEditProvider, triggerCharacters: string[], pluginInfo: PluginInfo): theia.Disposable; $provideOnTypeFormattingEdits(handle: number, resource: UriComponents, position: Position, ch: string, options: FormattingOptions, token: theia.CancellationToken): Promise; $provideDocumentLinks(handle: number, resource: UriComponents, token: theia.CancellationToken): Promise; $resolveDocumentLink(handle: number, link: DocumentLink, token: theia.CancellationToken): Promise; registerDocumentLinkProvider(selector: theia.DocumentSelector, provider: theia.DocumentLinkProvider, pluginInfo: PluginInfo): theia.Disposable; $releaseDocumentLinks(handle: number, ids: number[]): void; registerCodeActionsProvider(selector: theia.DocumentSelector, provider: theia.CodeActionProvider, pluginModel: PluginModel, pluginInfo: PluginInfo, metadata?: theia.CodeActionProviderMetadata): theia.Disposable; $provideCodeActions(handle: number, resource: UriComponents, rangeOrSelection: Range | Selection, context: CodeActionContext, token: theia.CancellationToken): Promise; $releaseCodeActions(handle: number, cacheIds: number[]): void; $resolveCodeAction(handle: number, cacheId: number, token: theia.CancellationToken): Promise; registerCodeLensProvider(selector: theia.DocumentSelector, provider: theia.CodeLensProvider, pluginInfo: PluginInfo): theia.Disposable; $provideCodeLenses(handle: number, resource: UriComponents, token: theia.CancellationToken): Promise; $resolveCodeLens(handle: number, resource: UriComponents, symbol: CodeLensSymbol, token: theia.CancellationToken): Promise; $releaseCodeLenses(handle: number, ids: number[]): void; $provideReferences(handle: number, resource: UriComponents, position: Position, context: ReferenceContext, token: theia.CancellationToken): Promise; registerReferenceProvider(selector: theia.DocumentSelector, provider: theia.ReferenceProvider, pluginInfo: PluginInfo): theia.Disposable; registerDocumentSymbolProvider(selector: theia.DocumentSelector, provider: theia.DocumentSymbolProvider, pluginInfo: PluginInfo, metadata?: theia.DocumentSymbolProviderMetadata): theia.Disposable; $provideDocumentSymbols(handle: number, resource: UriComponents, token: theia.CancellationToken): Promise; registerColorProvider(selector: theia.DocumentSelector, provider: theia.DocumentColorProvider, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentColors(handle: number, resource: UriComponents, token: theia.CancellationToken): Promise; $provideColorPresentations(handle: number, resource: UriComponents, colorInfo: RawColorInfo, token: theia.CancellationToken): Promise; registerInlayHintsProvider(selector: theia.DocumentSelector, provider: theia.InlayHintsProvider, pluginInfo: PluginInfo): theia.Disposable; $provideInlayHints(handle: number, resource: UriComponents, range: Range, token: theia.CancellationToken): Promise; $resolveInlayHint(handle: number, id: ChainedCacheId, token: theia.CancellationToken): Promise; $releaseInlayHints(handle: number, id: number): void; registerFoldingRangeProvider(selector: theia.DocumentSelector, provider: theia.FoldingRangeProvider, pluginInfo: PluginInfo): theia.Disposable; $provideFoldingRange(callId: number, resource: UriComponents, context: theia.FoldingContext, token: theia.CancellationToken): Promise; registerSelectionRangeProvider(selector: theia.DocumentSelector, provider: theia.SelectionRangeProvider, pluginInfo: PluginInfo): theia.Disposable; $provideSelectionRanges(handle: number, resource: UriComponents, positions: Position[], token: theia.CancellationToken): Promise; registerRenameProvider(selector: theia.DocumentSelector, provider: theia.RenameProvider, pluginInfo: PluginInfo): theia.Disposable; $provideRenameEdits(handle: number, resource: UriComponents, position: Position, newName: string, token: theia.CancellationToken): Promise; $resolveRenameLocation(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerCallHierarchyProvider(selector: theia.DocumentSelector, provider: theia.CallHierarchyProvider): theia.Disposable; $provideRootDefinition(handle: number, resource: UriComponents, location: Position, token: theia.CancellationToken): Promise; $provideCallers(handle: number, definition: CallHierarchyItem, token: theia.CancellationToken): Promise; $provideCallees(handle: number, definition: CallHierarchyItem, token: theia.CancellationToken): Promise; $releaseCallHierarchy(handle: number, session?: string): Promise; registerTypeHierarchyProvider(selector: theia.DocumentSelector, provider: theia.TypeHierarchyProvider): theia.Disposable; $prepareTypeHierarchy(handle: number, resource: UriComponents, location: Position, token: theia.CancellationToken): Promise; $provideSuperTypes(handle: number, sessionId: string, itemId: string, token: theia.CancellationToken): Promise; $provideSubTypes(handle: number, sessionId: string, itemId: string, token: theia.CancellationToken): Promise; $releaseTypeHierarchy(handle: number, session?: string): Promise; registerLinkedEditingRangeProvider(selector: theia.DocumentSelector, provider: theia.LinkedEditingRangeProvider): theia.Disposable; $provideLinkedEditingRanges(handle: number, resource: UriComponents, position: Position, token: theia.CancellationToken): Promise; registerDocumentSemanticTokensProvider(selector: theia.DocumentSelector, provider: theia.DocumentSemanticTokensProvider, legend: theia.SemanticTokensLegend, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentSemanticTokens(handle: number, resource: UriComponents, previousResultId: number, token: theia.CancellationToken): Promise; $releaseDocumentSemanticTokens(handle: number, semanticColoringResultId: number): void; registerDocumentRangeSemanticTokensProvider(selector: theia.DocumentSelector, provider: theia.DocumentRangeSemanticTokensProvider, legend: theia.SemanticTokensLegend, pluginInfo: PluginInfo): theia.Disposable; $provideDocumentRangeSemanticTokens(handle: number, resource: UriComponents, range: Range, token: theia.CancellationToken): Promise; protected statusItemHandlePool: number; protected readonly statusItemIds: Set; createLanguageStatusItem(extension: Plugin, id: string, selector: theia.DocumentSelector): theia.LanguageStatusItem; /** @stubbed */ registerDocumentPasteEditProvider(extension: Plugin, selector: theia.DocumentSelector, provider: theia.DocumentPasteEditProvider, metadata: theia.DocumentPasteProviderMetadata): theia.Disposable; } //# sourceMappingURL=languages.d.ts.map