import * as lsp from 'vscode-languageserver'; import * as tsp from 'typescript/lib/protocol'; import { Logger } from './logger'; import { LspClient } from './lsp-client'; import { LspDocument } from './document'; import { TSCompletionItem } from './completion'; import { TypeScriptInitializeParams, TypeScriptInitializeResult } from './ts-protocol'; export interface IServerOptions { logger: Logger; tsserverPath?: string; tsserverLogFile?: string; tsserverLogVerbosity?: string; lspClient: LspClient; } export declare class LspServer { private options; private initializeParams; private initializeResult; private tspClient; private diagnosticQueue; private logger; private readonly documents; constructor(options: IServerOptions); closeAll(): void; protected findTsserverPath(): string; initialize(params: TypeScriptInitializeParams): Promise; protected getLogFile(logVerbosity: string | undefined): string | undefined; protected doGetLogFile(): string | undefined; protected diagnosticsTokenSource: lsp.CancellationTokenSource | undefined; protected interuptDiagnostics(f: () => R): R; readonly requestDiagnostics: (() => Promise) & { abort(): void; }; protected doRequestDiagnostics(): Promise; protected cancelDiagnostics(): void; didOpenTextDocument(params: lsp.DidOpenTextDocumentParams): void; protected getScriptKindName(languageId: string): tsp.ScriptKindName | undefined; didCloseTextDocument(params: lsp.DidCloseTextDocumentParams): void; protected closeDocument(file: string): void; didChangeTextDocument(params: lsp.DidChangeTextDocumentParams): void; didSaveTextDocument(params: lsp.DidChangeTextDocumentParams): void; definition(params: lsp.TextDocumentPositionParams): Promise; implementation(params: lsp.TextDocumentPositionParams): Promise; typeDefinition(params: lsp.TextDocumentPositionParams): Promise; protected getDefinition({ type, params }: { type: 'definition' | 'implementation' | 'typeDefinition'; params: lsp.TextDocumentPositionParams; }): Promise; documentSymbol(params: lsp.TextDocumentPositionParams): Promise; protected readonly supportHierarchicalDocumentSymbol: boolean; completion(params: lsp.CompletionParams): Promise; completionResolve(item: TSCompletionItem): Promise; hover(params: lsp.TextDocumentPositionParams): Promise; protected getQuickInfo(file: string, position: lsp.Position): Promise; rename(params: lsp.RenameParams): Promise; references(params: lsp.TextDocumentPositionParams): Promise; documentFormatting(params: lsp.DocumentFormattingParams): Promise; signatureHelp(params: lsp.TextDocumentPositionParams): Promise; protected getSignatureHelp(file: string, position: lsp.Position): Promise; codeAction(params: lsp.CodeActionParams): Promise<(lsp.Command | lsp.CodeAction)[]>; protected getCodeFixes(args: tsp.CodeFixRequestArgs): Promise; protected getRefactors(args: tsp.GetApplicableRefactorsRequestArgs): Promise; executeCommand(arg: lsp.ExecuteCommandParams): Promise; protected applyFileCodeEdits(edits: ReadonlyArray): Promise; protected applyRenameFile(sourceUri: string, targetUri: string): Promise; protected getEditsForFileRename(sourceUri: string, targetUri: string): Promise>; documentHighlight(arg: lsp.TextDocumentPositionParams): Promise; private rootPath; private lastFileOrDummy; workspaceSymbol(params: lsp.WorkspaceSymbolParams): Promise; /** * implemented based on https://github.com/Microsoft/vscode/blob/master/extensions/typescript-language-features/src/features/folding.ts */ foldingRanges(params: lsp.FoldingRangeRequestParam): Promise; protected asFoldingRange(span: tsp.OutliningSpan, document: LspDocument): lsp.FoldingRange | undefined; protected asFoldingRangeKind(span: tsp.OutliningSpan): lsp.FoldingRangeKind | undefined; protected onTsEvent(event: protocol.Event): void; } //# sourceMappingURL=lsp-server.d.ts.map