import * as vscode from 'vscode'; import * as Proto from './tsServer/protocol/protocol'; import BufferSyncSupport from './tsServer/bufferSyncSupport'; import { ExecutionTarget } from './tsServer/server'; import { TypeScriptVersion } from './tsServer/versionProvider'; import { API } from './tsServer/api'; import { TypeScriptServiceConfiguration } from './configuration/configuration'; import { PluginManager } from './tsServer/plugins'; import { TelemetryReporter } from './logging/telemetry'; export declare enum ServerType { Syntax = "syntax", Semantic = "semantic" } export declare namespace ServerResponse { class Cancelled { readonly reason: string; readonly type = "cancelled"; constructor(reason: string); } const NoContent: { readonly type: "noContent"; }; const NoServer: { readonly type: "noServer"; }; type Response = T | Cancelled | typeof NoContent | typeof NoServer; } interface StandardTsServerRequests { 'applyCodeActionCommand': [Proto.ApplyCodeActionCommandRequestArgs, Proto.ApplyCodeActionCommandResponse]; 'completionEntryDetails': [Proto.CompletionDetailsRequestArgs, Proto.CompletionDetailsResponse]; 'completionInfo': [Proto.CompletionsRequestArgs, Proto.CompletionInfoResponse]; 'completions': [Proto.CompletionsRequestArgs, Proto.CompletionsResponse]; 'configure': [Proto.ConfigureRequestArguments, Proto.ConfigureResponse]; 'definition': [Proto.FileLocationRequestArgs, Proto.DefinitionResponse]; 'definitionAndBoundSpan': [Proto.FileLocationRequestArgs, Proto.DefinitionInfoAndBoundSpanResponse]; 'docCommentTemplate': [Proto.FileLocationRequestArgs, Proto.DocCommandTemplateResponse]; 'documentHighlights': [Proto.DocumentHighlightsRequestArgs, Proto.DocumentHighlightsResponse]; 'format': [Proto.FormatRequestArgs, Proto.FormatResponse]; 'formatonkey': [Proto.FormatOnKeyRequestArgs, Proto.FormatResponse]; 'getApplicableRefactors': [Proto.GetApplicableRefactorsRequestArgs, Proto.GetApplicableRefactorsResponse]; 'getCodeFixes': [Proto.CodeFixRequestArgs, Proto.CodeFixResponse]; 'getCombinedCodeFix': [Proto.GetCombinedCodeFixRequestArgs, Proto.GetCombinedCodeFixResponse]; 'getEditsForFileRename': [Proto.GetEditsForFileRenameRequestArgs, Proto.GetEditsForFileRenameResponse]; 'getEditsForRefactor': [Proto.GetEditsForRefactorRequestArgs, Proto.GetEditsForRefactorResponse]; 'getOutliningSpans': [Proto.FileRequestArgs, Proto.OutliningSpansResponse]; 'getSupportedCodeFixes': [null, Proto.GetSupportedCodeFixesResponse]; 'implementation': [Proto.FileLocationRequestArgs, Proto.ImplementationResponse]; 'jsxClosingTag': [Proto.JsxClosingTagRequestArgs, Proto.JsxClosingTagResponse]; 'navto': [Proto.NavtoRequestArgs, Proto.NavtoResponse]; 'navtree': [Proto.FileRequestArgs, Proto.NavTreeResponse]; 'organizeImports': [Proto.OrganizeImportsRequestArgs, Proto.OrganizeImportsResponse]; 'projectInfo': [Proto.ProjectInfoRequestArgs, Proto.ProjectInfoResponse]; 'quickinfo': [Proto.FileLocationRequestArgs, Proto.QuickInfoResponse]; 'references': [Proto.FileLocationRequestArgs, Proto.ReferencesResponse]; 'rename': [Proto.RenameRequestArgs, Proto.RenameResponse]; 'selectionRange': [Proto.SelectionRangeRequestArgs, Proto.SelectionRangeResponse]; 'signatureHelp': [Proto.SignatureHelpRequestArgs, Proto.SignatureHelpResponse]; 'typeDefinition': [Proto.FileLocationRequestArgs, Proto.TypeDefinitionResponse]; 'updateOpen': [Proto.UpdateOpenRequestArgs, Proto.Response]; 'prepareCallHierarchy': [Proto.FileLocationRequestArgs, Proto.PrepareCallHierarchyResponse]; 'provideCallHierarchyIncomingCalls': [Proto.FileLocationRequestArgs, Proto.ProvideCallHierarchyIncomingCallsResponse]; 'provideCallHierarchyOutgoingCalls': [Proto.FileLocationRequestArgs, Proto.ProvideCallHierarchyOutgoingCallsResponse]; 'fileReferences': [Proto.FileRequestArgs, Proto.FileReferencesResponse]; 'provideInlayHints': [Proto.InlayHintsRequestArgs, Proto.InlayHintsResponse]; 'encodedSemanticClassifications-full': [Proto.EncodedSemanticClassificationsRequestArgs, Proto.EncodedSemanticClassificationsResponse]; 'findSourceDefinition': [Proto.FileLocationRequestArgs, Proto.DefinitionResponse]; 'getMoveToRefactoringFileSuggestions': [Proto.GetMoveToRefactoringFileSuggestionsRequestArgs, Proto.GetMoveToRefactoringFileSuggestions]; 'linkedEditingRange': [Proto.FileLocationRequestArgs, Proto.LinkedEditingRangeResponse]; 'mapCode': [Proto.MapCodeRequestArgs, Proto.MapCodeResponse]; 'getPasteEdits': [Proto.GetPasteEditsRequestArgs, Proto.GetPasteEditsResponse]; 'preparePasteEdits': [Proto.PreparePasteEditsRequestArgs, Proto.PreparePasteEditsResponse]; } interface NoResponseTsServerRequests { 'open': [Proto.OpenRequestArgs, null]; 'close': [Proto.FileRequestArgs, null]; 'change': [Proto.ChangeRequestArgs, null]; 'compilerOptionsForInferredProjects': [Proto.SetCompilerOptionsForInferredProjectsArgs, null]; 'reloadProjects': [null, null]; 'configurePlugin': [Proto.ConfigurePluginRequest, Proto.ConfigurePluginResponse]; 'watchChange': [Proto.Request, null]; } interface AsyncTsServerRequests { 'geterr': [Proto.GeterrRequestArgs, Proto.Response]; 'geterrForProject': [Proto.GeterrForProjectRequestArgs, Proto.Response]; } export type TypeScriptRequests = StandardTsServerRequests & NoResponseTsServerRequests & AsyncTsServerRequests; export type ExecConfig = { readonly lowPriority?: boolean; readonly nonRecoverable?: boolean; readonly cancelOnResourceChange?: vscode.Uri; readonly executionTarget?: ExecutionTarget; }; export declare enum ClientCapability { /** * Basic syntax server. All clients should support this. */ Syntax = 0, /** * Advanced syntax server that can provide single file IntelliSense. */ EnhancedSyntax = 1, /** * Complete, multi-file semantic server */ Semantic = 2 } export declare class ClientCapabilities { private readonly capabilities; constructor(...capabilities: ClientCapability[]); has(capability: ClientCapability): boolean; } export interface ITypeScriptServiceClient { /** * Convert a (VS Code) resource to a path that TypeScript server understands. */ toTsFilePath(resource: vscode.Uri): string | undefined; /** * Convert a path to a resource. */ toResource(filepath: string): vscode.Uri; /** * Tries to ensure that a vscode document is open on the TS server. * * @return The normalized path or `undefined` if the document is not open on the server. */ toOpenTsFilePath(document: vscode.TextDocument | vscode.Uri, options?: { suppressAlertOnFailure?: boolean; }): string | undefined; /** * Checks if `resource` has a given capability. */ hasCapabilityForResource(resource: vscode.Uri, capability: ClientCapability): boolean; getWorkspaceRootForResource(resource: vscode.Uri): vscode.Uri | undefined; readonly onTsServerStarted: vscode.Event<{ version: TypeScriptVersion; usedApiVersion: API; }>; readonly onProjectLanguageServiceStateChanged: vscode.Event; readonly onDidBeginInstallTypings: vscode.Event; readonly onDidEndInstallTypings: vscode.Event; readonly onTypesInstallerInitializationFailed: vscode.Event; readonly capabilities: ClientCapabilities; readonly onDidChangeCapabilities: vscode.Event; onReady(f: () => void): Promise; showVersionPicker(): void; readonly apiVersion: API; readonly pluginManager: PluginManager; readonly configuration: TypeScriptServiceConfiguration; readonly bufferSyncSupport: BufferSyncSupport; readonly telemetryReporter: TelemetryReporter; execute(command: K, args: StandardTsServerRequests[K][0], token: vscode.CancellationToken, config?: ExecConfig): Promise>; executeWithoutWaitingForResponse(command: K, args: NoResponseTsServerRequests[K][0]): void; executeAsync(command: K, args: AsyncTsServerRequests[K][0], token: vscode.CancellationToken): Promise>; /** * Cancel on going geterr requests and re-queue them after `f` has been evaluated. */ interruptGetErr(f: () => R): R; } export {}; //# sourceMappingURL=typescriptService.d.ts.map