typescript-language-server
Version:
Language Server Protocol (LSP) implementation for TypeScript using tsserver
83 lines • 5.71 kB
TypeScript
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