UNPKG

theia-sprotty

Version:

Glue code for sprotty diagrams in a Theia IDE

40 lines 2.09 kB
import { ActionMessage, ExportSvgAction, ServerStatusAction } from 'sprotty/lib'; import { TheiaDiagramServer } from './theia-diagram-server'; import { LanguageClientContribution, ILanguageClient, Workspace, Location } from '@theia/languages/lib/browser'; import { EditorManager } from '@theia/editor/lib/browser'; import { TheiaFileSaver } from './theia-file-saver'; import { DiagramWidgetRegistry } from '../theia/diagram-widget-registry'; import { QuickPickService } from '@theia/core/lib/browser'; export interface OpenInTextEditorMessage { location: Location; forceOpen: boolean; } /** * Connects sprotty DiagramServers to a Theia LanguageClientContribution. * * Used to tunnel sprotty actions to and from the sprotty server through * the LSP. * * Instances bridge the gap between the sprotty DI containers (one per * diagram) and a specific language client from the Theia DI container * (one per application). */ export declare class TheiaSprottyConnector { readonly languageClientContribution: LanguageClientContribution; readonly fileSaver: TheiaFileSaver; readonly editorManager: EditorManager; readonly diagramWidgetRegistry: DiagramWidgetRegistry; readonly workspace?: Workspace | undefined; readonly quickPickService?: QuickPickService | undefined; private servers; constructor(languageClientContribution: LanguageClientContribution, fileSaver: TheiaFileSaver, editorManager: EditorManager, diagramWidgetRegistry: DiagramWidgetRegistry, workspace?: Workspace | undefined, quickPickService?: QuickPickService | undefined); connect(diagramServer: TheiaDiagramServer): void; disconnect(diagramServer: TheiaDiagramServer): void; save(uri: string, action: ExportSvgAction): void; openInTextEditor(message: OpenInTextEditorMessage): void; showStatus(widgetId: string, status: ServerStatusAction): void; sendThroughLsp(message: ActionMessage): void; getLanguageClient(): Promise<ILanguageClient>; receivedThroughLsp(message: ActionMessage): void; } //# sourceMappingURL=theia-sprotty-connector.d.ts.map