import { MaxAnalysisTime } from '../analyzer/program'; import { IBackgroundAnalysis } from '../backgroundAnalysisBase'; import { Workspace } from '../workspaceFactory'; import { DiagnosticBooleanOverridesMap, DiagnosticSeverityOverridesMap } from './commandLineOptions'; import { SignatureDisplayType } from './configOptions'; import { ConsoleInterface, LogLevel } from './console'; import { TaskListToken } from './diagnostic'; import { FileSystem } from './fileSystem'; import { FileWatcherHandler } from './fileWatcher'; import { ServiceProvider } from './serviceProvider'; import { Uri } from './uri/uri'; export interface ServerSettings { venvPath?: Uri | undefined; pythonPath?: Uri | undefined; typeshedPath?: Uri | undefined; stubPath?: Uri | undefined; openFilesOnly?: boolean | undefined; typeCheckingMode?: string | undefined; useLibraryCodeForTypes?: boolean | undefined; disableLanguageServices?: boolean | undefined; disableTaggedHints?: boolean | undefined; disableOrganizeImports?: boolean | undefined; autoSearchPaths?: boolean | undefined; extraPaths?: Uri[] | undefined; watchForSourceChanges?: boolean | undefined; watchForLibraryChanges?: boolean | undefined; watchForConfigChanges?: boolean | undefined; diagnosticSeverityOverrides?: DiagnosticSeverityOverridesMap | undefined; diagnosticBooleanOverrides?: DiagnosticBooleanOverridesMap | undefined; logLevel?: LogLevel | undefined; autoImportCompletions?: boolean | undefined; indexing?: boolean | undefined; logTypeEvaluationTime?: boolean | undefined; typeEvaluationTimeThreshold?: number | undefined; includeFileSpecs?: string[]; excludeFileSpecs?: string[]; ignoreFileSpecs?: string[]; taskListTokens?: TaskListToken[]; functionSignatureDisplay?: SignatureDisplayType | undefined; } export interface MessageAction { title: string; [key: string]: string | boolean | number | object; } export interface WindowInterface { showErrorMessage(message: string): void; showErrorMessage(message: string, ...actions: MessageAction[]): Promise; showWarningMessage(message: string): void; showWarningMessage(message: string, ...actions: MessageAction[]): Promise; showInformationMessage(message: string): void; showInformationMessage(message: string, ...actions: MessageAction[]): Promise; } export declare namespace WindowInterface { function is(obj: any): obj is WindowInterface; } export interface WorkspaceServices { fs: FileSystem | undefined; backgroundAnalysis: IBackgroundAnalysis | undefined; } export interface ServerOptions { productName: string; rootDirectory: Uri; version: string; serviceProvider: ServiceProvider; fileWatcherHandler: FileWatcherHandler; maxAnalysisTimeInForeground?: MaxAnalysisTime; disableChecker?: boolean; supportedCommands?: string[]; supportedCodeActions?: string[]; supportsTelemetry?: boolean; } export interface LanguageServerBaseInterface { readonly console: ConsoleInterface; readonly window: WindowInterface; readonly supportAdvancedEdits: boolean; readonly serviceProvider: ServiceProvider; createBackgroundAnalysis(serviceId: string, workspaceRoot: Uri): IBackgroundAnalysis | undefined; reanalyze(): void; restart(): void; getWorkspaces(): Promise; getSettings(workspace: Workspace): Promise; } export interface LanguageServerInterface extends LanguageServerBaseInterface { getWorkspaceForFile(fileUri: Uri, pythonPath?: Uri): Promise; } export interface WindowService extends WindowInterface { createGoToOutputAction(): MessageAction; createOpenUriAction(title: string, uri: string): MessageAction; } export declare namespace WindowService { function is(obj: any): obj is WindowService; } export interface CommandService { sendCommand(id: string, ...args: string[]): void; } export declare namespace CommandService { function is(obj: any): obj is CommandService; }