UNPKG

monaco-editor-wrapper

Version:
100 lines 4.22 kB
import * as monaco from '@codingame/monaco-vscode-editor-api'; import { LogLevel } from '@codingame/monaco-vscode-api'; import { type IExtensionManifest, type RegisterExtensionResult } from '@codingame/monaco-vscode-api/extensions'; import { MonacoLanguageClient } from 'monaco-languageclient'; import { type VscodeApiConfig } from 'monaco-languageclient/vscode/services'; import { type Logger } from 'monaco-languageclient/tools'; import { type OverallConfigType } from './vscode/services.js'; import { type CodeResources, EditorApp, type EditorAppConfig, type TextContents, type TextModels } from './editorApp.js'; import { type LanguageClientConfig, LanguageClientWrapper } from './languageClientWrapper.js'; export interface ExtensionConfig { config: IExtensionManifest; filesOrContents?: Map<string, string | URL>; } export interface LanguageClientConfigs { automaticallyInit?: boolean; automaticallyStart?: boolean; automaticallyDispose?: boolean; automaticallyDisposeWorkers?: boolean; configs: Record<string, LanguageClientConfig>; } export interface WrapperConfig { $type: OverallConfigType; htmlContainer?: HTMLElement; id?: string; logLevel?: LogLevel | number; automaticallyDispose?: boolean; extensions?: ExtensionConfig[]; vscodeApiConfig?: VscodeApiConfig; editorAppConfig?: EditorAppConfig; languageClientConfigs?: LanguageClientConfigs; } /** * This class is responsible for the overall ochestration. * It inits, start and disposes the editor apps and the language client (if configured) and provides * access to all required components. */ export declare class MonacoEditorLanguageClientWrapper { private id; private editorApp?; private extensionRegisterResults; private disposableStore; private languageClientWrappers; private wrapperConfig?; private logger; private initAwait?; private initResolve; private startingAwait?; private startingResolve; private disposingAwait?; private disposingResolve; /** * Perform an isolated initialization of the user services and the languageclient wrapper (if used). */ init(wrapperConfig: WrapperConfig): Promise<void>; initLanguageClients(): void; initExtensions(): Promise<void>; private markInitializing; private markInitialized; isInitializing(): boolean; getInitializingAwait(): Promise<void> | undefined; getWrapperConfig(): WrapperConfig | undefined; getExtensionRegisterResult(extensionName: string): RegisterExtensionResult | undefined; /** * Performs a full user configuration and the languageclient wrapper (if used) init and then start the application. */ initAndStart(wrapperConfig: WrapperConfig): Promise<void>; /** * Does not perform any user configuration or other application init and just starts the application. */ start(htmlContainer?: HTMLElement): Promise<void>; startLanguageClients(): Promise<void[]>; private markStarting; private markStarted; isStarting(): boolean; getStartingAwait(): Promise<void> | undefined; isStarted(): boolean; haveLanguageClients(): boolean; getEditorApp(): EditorApp | undefined; getEditor(): monaco.editor.IStandaloneCodeEditor | undefined; getDiffEditor(): monaco.editor.IStandaloneDiffEditor | undefined; getLanguageClientWrapper(languageId: string): LanguageClientWrapper | undefined; getLanguageClient(languageId: string): MonacoLanguageClient | undefined; getTextModels(): TextModels | undefined; getWorker(languageId: string): Worker | undefined; getLogger(): Logger; updateCodeResources(codeResources?: CodeResources): Promise<void>; registerTextChangedCallback(onTextChanged?: (textChanges: TextContents) => void): void; reportStatus(): string[]; /** * Disposes all application and editor resources, plus the languageclient (if used). */ dispose(): Promise<void>; disposeLanguageClients(): Promise<void[]>; private markDisposing; private markDisposed; isDisposing(): boolean; getDisposingAwait(): Promise<void> | undefined; updateLayout(): void; } //# sourceMappingURL=wrapper.d.ts.map