/// import { MonacoEditorService } from './monaco-editor-service'; import { MonacoEditor, MonacoEditorServices } from './monaco-editor'; import URI from '@tartjs/core/lib/common/uri'; import { MonacoCommandServiceFactory } from './monaco-command-service'; import { ContributionProvider, Disposable, DisposableCollection } from '@tartjs/core/lib/common'; import { KeybindingRegistry, OpenerService } from '@tartjs/core'; import { MonacoTextModelService } from './monaco-text-model-service'; import { MonacoContextMenuService } from './monaco-context-menu'; import { MonacoBulkEditService } from './monaco-bulk-edit-service'; import { DiffNavigator, EditorPreferenceChange, EditorPreferences, TextEditor } from '@tartjs/editor'; import { MonacoQuickInputImplementation } from './monaco-quick-input-service'; import { MonacoEditorModel, WillSaveMonacoModelEvent } from './monaco-editor-model'; import { MonacoDiffEditor } from './monaco-diff-editor'; import { MonacoDiffNavigatorFactory } from './monaco-diff-navigator-factory'; import { MonacoToProtocolConverter } from './monaco-to-protocol-converter'; import { ProtocolToMonacoConverter } from './protocol-to-monaco-converter'; import IEditorOverrideServices = monaco.editor.IEditorOverrideServices; export declare const MonacoEditorFactory: unique symbol; export interface MonacoEditorFactory { readonly scheme: string; create(model: MonacoEditorModel, defaultOptions: MonacoEditor.IOptions, defaultOverrides: IEditorOverrideServices): MonacoEditor; } export declare class MonacoEditorProvider { protected readonly codeEditorService: MonacoEditorService; protected readonly textModelService: MonacoTextModelService; protected readonly contextMenuService: MonacoContextMenuService; protected readonly m2p: MonacoToProtocolConverter; protected readonly p2m: ProtocolToMonacoConverter; protected readonly diffNavigatorFactory: MonacoDiffNavigatorFactory; protected readonly editorPreferences: EditorPreferences; protected readonly commandServiceFactory: MonacoCommandServiceFactory; protected readonly contextKeyService: monaco.contextKeyService.ContextKeyService; protected readonly factories: ContributionProvider; protected readonly bulkEditService: MonacoBulkEditService; protected readonly services: MonacoEditorServices; protected readonly openerService: OpenerService; protected readonly quickInputService: MonacoQuickInputImplementation; protected readonly keybindingRegistry: KeybindingRegistry; constructor(codeEditorService: MonacoEditorService, textModelService: MonacoTextModelService, contextMenuService: MonacoContextMenuService, m2p: MonacoToProtocolConverter, p2m: ProtocolToMonacoConverter, diffNavigatorFactory: MonacoDiffNavigatorFactory, editorPreferences: EditorPreferences, commandServiceFactory: MonacoCommandServiceFactory, contextKeyService: monaco.contextKeyService.ContextKeyService); protected _current: MonacoEditor | undefined; /** * Returns the last focused MonacoEditor. * It takes into account inline editors as well. * If you are interested only in standalone editors then use `MonacoEditor.getCurrent(EditorManager)` */ get current(): MonacoEditor | undefined; protected get preferencePrefixes(): string[]; protected get diffPreferencePrefixes(): string[]; get(uri: URI): Promise; getDiffNavigator(editor: TextEditor): DiffNavigator; protected doCreateEditor(uri: URI, factory: (override: IEditorOverrideServices, toDispose: DisposableCollection) => Promise): Promise; protected injectKeybindingResolver(editor: MonacoEditor): void; protected createEditor(uri: URI, override: IEditorOverrideServices, toDispose: DisposableCollection): Promise; protected createMonacoEditor(uri: URI, override: IEditorOverrideServices, toDispose: DisposableCollection): Promise; protected createMonacoEditorOptions(model: MonacoEditorModel): MonacoEditor.IOptions; protected updateMonacoEditorOptions(editor: MonacoEditor, event?: EditorPreferenceChange): void; protected shouldFormat(editor: MonacoEditor, event: WillSaveMonacoModelEvent): boolean; protected formatOnSave(editor: MonacoEditor, event: WillSaveMonacoModelEvent): Promise; protected getModel(uri: URI, toDispose: DisposableCollection): Promise; protected createMonacoDiffEditor(uri: URI, override: IEditorOverrideServices, toDispose: DisposableCollection): Promise; protected createMonacoDiffEditorOptions(original: MonacoEditorModel, modified: MonacoEditorModel): MonacoDiffEditor.IOptions; protected updateMonacoDiffEditorOptions(editor: MonacoDiffEditor, event?: EditorPreferenceChange, resourceUri?: string): void; /** @deprecated always pass a language as an overrideIdentifier */ protected createOptions(prefixes: string[], uri: string): { [name: string]: any; }; protected createOptions(prefixes: string[], uri: string, overrideIdentifier: string): { [name: string]: any; }; protected setOption(preferenceName: string, value: any, prefixes: string[], options?: { [name: string]: any; }): { [name: string]: any; }; protected toOptionName(preferenceName: string, prefixes: string[]): string; protected doSetOption(obj: { [name: string]: any; }, value: any, names: string[], idx?: number): void; /** * Suppresses Monaco keydown listener to avoid triggering default Monaco keybindings * if they are overridden by a user. Monaco keybindings should be registered as Wm keybindings * to allow a user to customize them. */ protected suppressMonacoKeybindingListener(editor: MonacoEditor): void; protected installReferencesController(editor: MonacoEditor): Disposable; /** * Intercept internal Monaco open calls and delegate to OpenerService. */ protected interceptOpen(monacoUri: monaco.Uri | string, monacoOptions?: monaco.services.OpenInternalOptions | monaco.services.OpenExternalOptions): Promise; createInline(uri: URI, node: HTMLElement, options?: MonacoEditor.IOptions): Promise; static inlineOptions: monaco.editor.IEditorConstructionOptions; }