import './common/extensions'; import { AbstractCancellationTokenSource, CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken, CodeAction, CodeActionParams, Command, CompletionItem, CompletionList, CompletionParams, Connection, Declaration, DeclarationLink, Definition, DefinitionLink, DidChangeConfigurationParams, DidChangeTextDocumentParams, DidChangeWatchedFilesParams, DidCloseTextDocumentParams, DidOpenTextDocumentParams, Disposable, DocumentDiagnosticParams, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, ExecuteCommandParams, HoverParams, InitializeParams, InitializeResult, Location, PrepareRenameParams, PublishDiagnosticsParams, ReferenceParams, RemoteWindow, RenameParams, ResultProgressReporter, SignatureHelp, SignatureHelpParams, SymbolInformation, TextDocumentPositionParams, WorkDoneProgressReporter, WorkspaceDiagnosticParams, WorkspaceDiagnosticReport, WorkspaceDiagnosticReportPartialResult, WorkspaceEdit, WorkspaceFoldersChangeEvent, WorkspaceSymbol, WorkspaceSymbolParams } from 'vscode-languageserver'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { AnalysisResults } from './analyzer/analysis'; import { BackgroundAnalysisProgram } from './analyzer/backgroundAnalysisProgram'; import { ImportResolver } from './analyzer/importResolver'; import { MaxAnalysisTime } from './analyzer/program'; import { AnalyzerService, LibraryReanalysisTimeProvider } from './analyzer/service'; import { IPythonMode } from './analyzer/sourceFile'; import type { IBackgroundAnalysis } from './backgroundAnalysisBase'; import { CaseSensitivityDetector } from './common/caseSensitivityDetector'; import { DiagnosticSeverityOverrides } from './common/commandLineOptions'; import { ConfigOptions } from './common/configOptions'; import { ConsoleInterface } from './common/console'; import { Diagnostic as AnalyzerDiagnostic } from './common/diagnostic'; import { DiagnosticRule } from './common/diagnosticRules'; import { FileDiagnostics } from './common/diagnosticSink'; import { DocumentRange } from './common/docRange'; import { FileSystem, ReadOnlyFileSystem } from './common/fileSystem'; import { Host } from './common/host'; import { LanguageServerInterface, ServerOptions, ServerSettings, WorkspaceServices } from './common/languageServerInterface'; import { ProgressReporter } from './common/progressReporter'; import { ServiceProvider } from './common/serviceProvider'; import { Position, Range } from './common/textRange'; import { Uri } from './common/uri/uri'; import { DefinitionFilter } from './languageService/definitionProvider'; import { CollectionResult } from './languageService/documentSymbolCollector'; import { DynamicFeature, DynamicFeatures } from './languageService/dynamicFeature'; import { ParseFileResults } from './parser/parser'; import { ClientCapabilities } from './types'; import { InitStatus, IWorkspaceFactory, Workspace } from './workspaceFactory'; export declare function wrapProgressReporter(reporter: WorkDoneProgressReporter): ProgressReporter; export declare abstract class LanguageServerBase implements LanguageServerInterface, Disposable { protected serverOptions: ServerOptions; protected connection: Connection; private _pendingFindAllRefsCancellationSource; private _pendingCommandCancellationSource; private _progressReporter; private _progressReportCounter; private _lastTriggerKind; private _initialized; private _workspaceFoldersChangedDisposable; private _workspaceDiagnosticsReporter; private _workspaceDiagnosticsProgressReporter; private _workspaceDiagnosticsResolve; protected client: ClientCapabilities; protected defaultClientConfig: any; protected readonly workspaceFactory: IWorkspaceFactory; protected readonly openFileMap: Map; protected readonly fs: FileSystem; protected readonly caseSensitiveDetector: CaseSensitivityDetector; protected readonly documentsWithDiagnostics: Set; protected readonly dynamicFeatures: DynamicFeatures; constructor(serverOptions: ServerOptions, connection: Connection); get console(): ConsoleInterface; get window(): RemoteWindow; get supportAdvancedEdits(): boolean; get serviceProvider(): ServiceProvider; dispose(): void; abstract createBackgroundAnalysis(serviceId: string, workspaceRoot: Uri): IBackgroundAnalysis | undefined; abstract getSettings(workspace: Workspace): Promise; createAnalyzerService(name: string, workspaceRoot: Uri, services?: WorkspaceServices, libraryReanalysisTimeProvider?: LibraryReanalysisTimeProvider): AnalyzerService; getWorkspaces(): Promise; getWorkspaceForFile(fileUri: Uri, pythonPath?: Uri): Promise; getContainingWorkspacesForFile(fileUri: Uri): Promise; reanalyze(): void; restart(): void; updateSettingsForAllWorkspaces(): void; updateSettingsForWorkspace(workspace: Workspace, status: InitStatus | undefined, serverSettings?: ServerSettings): Promise; updateOptionsAndRestartService(workspace: Workspace, serverSettings: ServerSettings, typeStubTargetImportName?: string): void; protected get workspaceDiagnosticsReporter(): ResultProgressReporter | undefined; protected abstract executeCommand(params: ExecuteCommandParams, token: CancellationToken): Promise; protected abstract isLongRunningCommand(command: string): boolean; protected abstract isRefactoringCommand(command: string): boolean; protected abstract executeCodeAction(params: CodeActionParams, token: CancellationToken): Promise<(Command | CodeAction)[] | undefined | null>; protected getConfiguration(scopeUri: Uri | undefined, section: string): Promise; protected isOpenFilesOnly(diagnosticMode: string): boolean; protected getSeverityOverrides(value: string | boolean): DiagnosticSeverityOverrides | undefined; protected getDiagnosticRuleName(value: string): DiagnosticRule | undefined; protected abstract createHost(): Host; protected abstract createImportResolver(serviceProvider: ServiceProvider, options: ConfigOptions, host: Host): ImportResolver; protected createBackgroundAnalysisProgram(serviceId: string, serviceProvider: ServiceProvider, configOptions: ConfigOptions, importResolver: ImportResolver, backgroundAnalysis?: IBackgroundAnalysis, maxAnalysisTime?: MaxAnalysisTime): BackgroundAnalysisProgram; protected createWorkspaceFactory(): IWorkspaceFactory; protected setupConnection(supportedCommands: string[], supportedCodeActions: string[]): void; protected initialize(params: InitializeParams, supportedCommands: string[], supportedCodeActions: string[]): Promise; protected onInitialized(): void; protected handleInitialized(changeWorkspaceFolderHandler: (e: WorkspaceFoldersChangeEvent) => any): void; protected onDidChangeConfiguration(params: DidChangeConfigurationParams): void; protected onDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise; protected onDeclaration(params: TextDocumentPositionParams, token: CancellationToken): Promise; protected onTypeDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise; protected getDefinitions(params: TextDocumentPositionParams, token: CancellationToken, filter: DefinitionFilter, getDefinitionsFunc: (workspace: Workspace, fileUri: Uri, position: Position, filter: DefinitionFilter, token: CancellationToken) => DocumentRange[] | undefined): Promise; protected onReferences(params: ReferenceParams, token: CancellationToken, workDoneReporter: WorkDoneProgressReporter, resultReporter: ResultProgressReporter | undefined, createDocumentRange?: (uri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange, convertToLocation?: (fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined): Promise; protected onDocumentSymbol(params: DocumentSymbolParams, token: CancellationToken): Promise; protected onWorkspaceSymbol(params: WorkspaceSymbolParams, token: CancellationToken, resultReporter: ResultProgressReporter | undefined): Promise; protected onHover(params: HoverParams, token: CancellationToken): Promise; protected onDocumentHighlight(params: DocumentHighlightParams, token: CancellationToken): Promise; protected onSignatureHelp(params: SignatureHelpParams, token: CancellationToken): Promise; protected setCompletionIncomplete(params: CompletionParams, completions: CompletionList | null): void; protected onCompletion(params: CompletionParams, token: CancellationToken): Promise; protected onCompletionResolve(params: CompletionItem, token: CancellationToken): Promise; protected onPrepareRenameRequest(params: PrepareRenameParams, token: CancellationToken): Promise; protected onRenameRequest(params: RenameParams, token: CancellationToken): Promise; protected onCallHierarchyPrepare(params: CallHierarchyPrepareParams, token: CancellationToken): Promise; protected onCallHierarchyIncomingCalls(params: CallHierarchyIncomingCallsParams, token: CancellationToken): Promise; protected onCallHierarchyOutgoingCalls(params: CallHierarchyOutgoingCallsParams, token: CancellationToken): Promise; protected onDidOpenTextDocument(params: DidOpenTextDocumentParams, ipythonMode?: IPythonMode): Promise; protected onDidChangeTextDocument(params: DidChangeTextDocumentParams, ipythonMode?: IPythonMode): Promise; protected onDidCloseTextDocument(params: DidCloseTextDocumentParams): Promise; protected onDiagnostics(params: DocumentDiagnosticParams, token: CancellationToken): Promise; protected onWorkspaceDiagnostics(params: WorkspaceDiagnosticParams, token: CancellationToken, workDoneProgress: WorkDoneProgressReporter, resultReporter?: ResultProgressReporter): Promise; protected onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): void; protected onExecuteCommand(params: ExecuteCommandParams, token: CancellationToken, reporter: WorkDoneProgressReporter): Promise; protected onShutdown(token: CancellationToken): Promise; protected convertDiagnostics(fs: FileSystem, fileDiagnostics: FileDiagnostics): PublishDiagnosticsParams[]; protected getDiagCode(_diag: AnalyzerDiagnostic, rule: string | undefined): string | undefined; protected onAnalysisCompletedHandler(fs: FileSystem, results: AnalysisResults): void; protected incrementAnalysisProgress(): void; protected decrementAnalysisProgress(): void; protected getAnalysisProgressReporter(): ProgressReporter; protected sendProgressMessage(fileCount: number, cellCount?: number): void; protected onWorkspaceCreated(workspace: Workspace): void; protected onWorkspaceRemoved(workspace: Workspace): void; protected createAnalyzerServiceForWorkspace(name: string, workspaceRoot: Uri | undefined, kinds: string[], services?: WorkspaceServices): AnalyzerService; protected recordUserInteractionTime(): void; protected getDocumentationUrlForDiagnostic(diag: AnalyzerDiagnostic): string | undefined; protected abstract createProgressReporter(): ProgressReporter; protected canNavigateToFile(path: Uri, fs: FileSystem): boolean; protected getProgressReporter(reporter: WorkDoneProgressReporter, title: string, token: CancellationToken): Promise<{ reporter: WorkDoneProgressReporter; source: AbstractCancellationTokenSource; }>; protected sendDiagnostics(params: PublishDiagnosticsParams[]): void; protected convertLspUriStringToUri(uri: string): Uri; protected addDynamicFeature(feature: DynamicFeature): void; private _getCompatibleMarkupKind; private _convertDiagnostics; }