/********************************************************************************
* Copyright (C) 2018 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
///
import URI from '@devpodio/core/lib/common/uri';
import { EditorPreferenceChange, EditorPreferences, TextEditor, DiffNavigator, EndOfLinePreference } from '@devpodio/editor/lib/browser';
import { DisposableCollection } from '@devpodio/core/lib/common';
import { MonacoToProtocolConverter, ProtocolToMonacoConverter } from 'monaco-languageclient';
import { MonacoCommandServiceFactory } from './monaco-command-service';
import { MonacoContextMenuService } from './monaco-context-menu';
import { MonacoDiffEditor } from './monaco-diff-editor';
import { MonacoDiffNavigatorFactory } from './monaco-diff-navigator-factory';
import { MonacoEditor } from './monaco-editor';
import { MonacoEditorModel, WillSaveMonacoModelEvent } from './monaco-editor-model';
import { MonacoEditorService } from './monaco-editor-service';
import { MonacoQuickOpenService } from './monaco-quick-open-service';
import { MonacoTextModelService } from './monaco-text-model-service';
import { MonacoWorkspace } from './monaco-workspace';
import { MonacoBulkEditService } from './monaco-bulk-edit-service';
import IEditorOverrideServices = monaco.editor.IEditorOverrideServices;
import { ApplicationServer } from '@devpodio/core/lib/common/application-protocol';
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 workspace: MonacoWorkspace;
protected readonly commandServiceFactory: MonacoCommandServiceFactory;
protected readonly editorPreferences: EditorPreferences;
protected readonly quickOpenService: MonacoQuickOpenService;
protected readonly diffNavigatorFactory: MonacoDiffNavigatorFactory;
protected readonly applicationServer: ApplicationServer;
protected readonly contextKeyService: monaco.contextKeyService.ContextKeyService;
protected readonly bulkEditService: MonacoBulkEditService;
private isWindowsBackend;
private hookedConfigService;
constructor(codeEditorService: MonacoEditorService, textModelService: MonacoTextModelService, contextMenuService: MonacoContextMenuService, m2p: MonacoToProtocolConverter, p2m: ProtocolToMonacoConverter, workspace: MonacoWorkspace, commandServiceFactory: MonacoCommandServiceFactory, editorPreferences: EditorPreferences, quickOpenService: MonacoQuickOpenService, diffNavigatorFactory: MonacoDiffNavigatorFactory, applicationServer: ApplicationServer, contextKeyService: monaco.contextKeyService.ContextKeyService);
protected getEOL(): EndOfLinePreference;
protected getModel(uri: URI, toDispose: DisposableCollection): Promise;
get(uri: URI): Promise;
protected doCreateEditor(factory: (override: IEditorOverrideServices, toDispose: DisposableCollection) => Promise): Promise;
protected createEditor(uri: URI, override: IEditorOverrideServices, toDispose: DisposableCollection): Promise;
protected readonly preferencePrefixes: string[];
protected createMonacoEditor(uri: URI, override: IEditorOverrideServices, toDispose: DisposableCollection): Promise;
protected createMonacoEditorOptions(model: MonacoEditorModel): MonacoEditor.IOptions;
protected updateMonacoEditorOptions(editor: MonacoEditor, event?: EditorPreferenceChange): void;
protected formatOnSave(editor: MonacoEditor, event: WillSaveMonacoModelEvent): Promise;
protected readonly diffPreferencePrefixes: string[];
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;
protected installQuickOpenService(editor: MonacoEditor): void;
protected installReferencesController(editor: MonacoEditor): void;
getDiffNavigator(editor: TextEditor): DiffNavigator;
createInline(uri: URI, node: HTMLElement, options?: MonacoEditor.IOptions): Promise;
static inlineOptions: monaco.editor.IEditorConstructionOptions;
}
//# sourceMappingURL=monaco-editor-provider.d.ts.map