UNPKG

typescript-language-server

Version:

Language Server Protocol (LSP) implementation for TypeScript using tsserver

83 lines 5.71 kB
import * as lsp from 'vscode-languageserver'; import * as lspcalls from './lsp-protocol.calls.proposed.js'; import * as lspinlayHints from './lsp-protocol.inlayHints.proposed.js'; import tsp from 'typescript/lib/protocol.d.js'; import { LspDocument } from './document.js'; import { TypeScriptInitializeParams, TypeScriptInitializeResult } from './ts-protocol.js'; import { IServerOptions } from './utils/configuration.js'; export declare class LspServer { private options; private _tspClient; private initializeParams; private diagnosticQueue?; private configurationManager; private logger; private workspaceRoot; private typeScriptAutoFixProvider; private features; private readonly documents; constructor(options: IServerOptions); closeAll(): void; shutdown(): void; private get tspClient(); private findTypescriptVersion; initialize(params: TypeScriptInitializeParams): Promise<TypeScriptInitializeResult>; protected getLogFile(logVerbosity: string | undefined): string | undefined; protected doGetLogFile(): string | undefined; didChangeConfiguration(params: lsp.DidChangeConfigurationParams): void; protected diagnosticsTokenSource: lsp.CancellationTokenSource | undefined; protected interuptDiagnostics<R>(f: () => R): R; pendingDebouncedRequest: boolean; requestDiagnostics(): Promise<void>; readonly doRequestDiagnosticsDebounced: () => Promise<tsp.RequestCompletedEvent>; protected doRequestDiagnostics(): Promise<tsp.RequestCompletedEvent>; 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.DidSaveTextDocumentParams): void; definition(params: lsp.DefinitionParams): Promise<lsp.Definition | lsp.DefinitionLink[] | undefined>; implementation(params: lsp.TextDocumentPositionParams): Promise<lsp.Definition | undefined>; typeDefinition(params: lsp.TextDocumentPositionParams): Promise<lsp.Definition | undefined>; private getDefinition; private getSymbolLocations; documentSymbol(params: lsp.DocumentSymbolParams): Promise<lsp.DocumentSymbol[] | lsp.SymbolInformation[]>; protected get supportHierarchicalDocumentSymbol(): boolean; completion(params: lsp.CompletionParams): Promise<lsp.CompletionList | null>; completionResolve(item: lsp.CompletionItem): Promise<lsp.CompletionItem>; hover(params: lsp.TextDocumentPositionParams): Promise<lsp.Hover>; protected getQuickInfo(file: string, position: lsp.Position): Promise<tsp.QuickInfoResponse | undefined>; rename(params: lsp.RenameParams): Promise<lsp.WorkspaceEdit | undefined>; references(params: lsp.ReferenceParams): Promise<lsp.Location[]>; documentFormatting(params: lsp.DocumentFormattingParams): Promise<lsp.TextEdit[]>; documentRangeFormatting(params: lsp.DocumentRangeFormattingParams): Promise<lsp.TextEdit[]>; signatureHelp(params: lsp.SignatureHelpParams): Promise<lsp.SignatureHelp | undefined>; protected getSignatureHelp(file: string, params: lsp.SignatureHelpParams): Promise<tsp.SignatureHelpResponse | undefined>; codeAction(params: lsp.CodeActionParams): Promise<lsp.CodeAction[]>; protected getCodeFixes(fileRangeArgs: tsp.FileRangeRequestArgs, context: lsp.CodeActionContext): Promise<tsp.GetCodeFixesResponse | undefined>; protected getRefactors(fileRangeArgs: tsp.FileRangeRequestArgs, context: lsp.CodeActionContext): Promise<tsp.GetApplicableRefactorsResponse | undefined>; protected getOrganizeImports(args: tsp.OrganizeImportsRequestArgs): Promise<tsp.OrganizeImportsResponse | undefined>; executeCommand(arg: lsp.ExecuteCommandParams, token?: lsp.CancellationToken, workDoneProgress?: lsp.WorkDoneProgressReporter): Promise<any>; protected applyFileCodeEdits(edits: ReadonlyArray<tsp.FileCodeEdits>): Promise<boolean>; protected applyRenameFile(sourceUri: string, targetUri: string): Promise<void>; protected getEditsForFileRename(sourceUri: string, targetUri: string): Promise<ReadonlyArray<tsp.FileCodeEdits>>; documentHighlight(arg: lsp.TextDocumentPositionParams): Promise<lsp.DocumentHighlight[]>; private lastFileOrDummy; workspaceSymbol(params: lsp.WorkspaceSymbolParams): Promise<lsp.SymbolInformation[]>; /** * implemented based on https://github.com/Microsoft/vscode/blob/master/extensions/typescript-language-features/src/features/folding.ts */ foldingRanges(params: lsp.FoldingRangeParams): Promise<lsp.FoldingRange[] | undefined>; protected asFoldingRange(span: tsp.OutliningSpan, document: LspDocument): lsp.FoldingRange | undefined; protected asFoldingRangeKind(span: tsp.OutliningSpan): lsp.FoldingRangeKind | undefined; protected onTsEvent(event: protocol.Event): Promise<void>; calls(params: lspcalls.CallsParams): Promise<lspcalls.CallsResult>; inlayHints(params: lsp.InlayHintParams): Promise<lsp.InlayHint[] | undefined>; inlayHintsLegacy(params: lspinlayHints.InlayHintsParams): Promise<lspinlayHints.InlayHintsResult>; semanticTokensFull(params: lsp.SemanticTokensParams): Promise<lsp.SemanticTokens>; semanticTokensRange(params: lsp.SemanticTokensRangeParams): Promise<lsp.SemanticTokens>; getSemanticTokens(doc: LspDocument, file: string, startOffset: number, endOffset: number): Promise<lsp.SemanticTokens>; } //# sourceMappingURL=lsp-server.d.ts.map