/// import { VDomModel, VDomRenderer } from '@jupyterlab/apputils'; import { DocumentRegistry, IDocumentWidget } from '@jupyterlab/docregistry'; import { INotebookModel, NotebookPanel } from '@jupyterlab/notebook'; import { Popup } from '@jupyterlab/statusbar'; import { TranslationBundle } from '@jupyterlab/translation'; import { LabIcon } from '@jupyterlab/ui-components'; import '../../style/statusbar.css'; import * as SCHEMA from '../_schema'; import { WidgetAdapter } from '../adapters/adapter'; import { LSPConnection } from '../connection'; import { DocumentConnectionManager } from '../connection_manager'; import { LanguageServerManager } from '../manager'; import { ILSPAdapterManager, ILanguageServerManager, TSessionMap } from '../tokens'; import { VirtualDocument } from '../virtual/document'; export interface IListProps { /** * A title to display. */ title: string; list: any[]; /** * By default the list will be expanded; to change the initial state to collapsed, set to true. */ startCollapsed?: boolean; } export interface ICollapsibleListStates { isCollapsed: boolean; } /** * StatusBar item. */ export declare class LSPStatus extends VDomRenderer { protected displayText: boolean; protected _popup: Popup | null; private interactiveStateObserver; private trans; /** * Construct a new VDomRenderer for the status item. */ constructor(widget_manager: ILSPAdapterManager, displayText: boolean, trans: TranslationBundle); protected onAfterAttach(msg: any): void; protected onBeforeDetach(msg: any): void; /** * Render the status item. */ render(): JSX.Element | null; handleClick: () => void; } export declare class StatusButtonExtension implements DocumentRegistry.IWidgetExtension { private options; constructor(options: { language_server_manager: LanguageServerManager; connection_manager: DocumentConnectionManager; adapter_manager: ILSPAdapterManager; translator_bundle: TranslationBundle; }); /** * For statusbar registration and for internal use. */ createItem(displayText?: boolean): LSPStatus; /** * For registration on notebook panels. */ createNew(panel: NotebookPanel, context: DocumentRegistry.IContext): LSPStatus; } declare type StatusCode = 'no_server_extension' | 'waiting' | 'initializing' | 'initialized' | 'connecting' | 'initialized_but_some_missing'; export interface IStatus { connected_documents: Set; initialized_documents: Set; open_connections: Array; detected_documents: Set; status: StatusCode; } export declare namespace LSPStatus { /** * A VDomModel for the LSP of current file editor/notebook. */ class Model extends VDomModel { server_extension_status: SCHEMA.ServersResponse | null; language_server_manager: ILanguageServerManager; trans: TranslationBundle; private _connection_manager; constructor(widget_adapter_manager: ILSPAdapterManager, trans: TranslationBundle); get available_servers(): TSessionMap; get supported_languages(): Set; private is_server_running; get documents_by_server(): Map>; get servers_available_not_in_use(): Array; get detected_languages(): Set; get missing_languages(): Array; get status(): IStatus; get status_icon(): LabIcon; get short_message(): string; get feature_message(): string; get long_message(): string; get adapter(): WidgetAdapter | null; change_adapter(adapter: WidgetAdapter | null): void; get connection_manager(): DocumentConnectionManager; /** * Note: it is ever only set once, as connection_manager is a singleton. */ set connection_manager(connection_manager: DocumentConnectionManager); private _onChange; private _adapter; } } export {};