import { IDisposable } from "../../../base/common/lifecycle.js"; import { ICodeEditor, IDiffEditor, IDiffEditorConstructionOptions } from "../../browser/editorBrowser.js"; import { ICodeEditorService } from "../../browser/services/codeEditorService.service.js"; import { CodeEditorWidget } from "../../browser/widget/codeEditor/codeEditorWidget.js"; import { IDiffEditorOptions, IEditorOptions } from "../../common/config/editorOptions.js"; import { ITextModel } from "../../common/model.js"; import { IStandaloneThemeService } from "../common/standaloneTheme.service.js"; import { ICommandHandler } from "../../../platform/commands/common/commands.js"; import { ICommandService } from "../../../platform/commands/common/commands.service.js"; import { IConfigurationService } from "../../../platform/configuration/common/configuration.service.js"; import { ContextKeyValue, IContextKey } from "../../../platform/contextkey/common/contextkey.js"; import { IContextKeyService } from "../../../platform/contextkey/common/contextkey.service.js"; import { IContextMenuService } from "../../../platform/contextview/browser/contextView.service.js"; import { IInstantiationService } from "../../../platform/instantiation/common/instantiation.js"; import { IKeybindingService } from "../../../platform/keybinding/common/keybinding.service.js"; import { INotificationService } from "../../../platform/notification/common/notification.service.js"; import { IThemeService } from "../../../platform/theme/common/themeService.service.js"; import { IAccessibilityService } from "../../../platform/accessibility/common/accessibility.service.js"; import { IClipboardService } from "../../../platform/clipboard/common/clipboardService.service.js"; import { IEditorProgressService } from "../../../platform/progress/common/progress.service.js"; import { IModelService } from "../../common/services/model.service.js"; import { ILanguageService } from "../../common/languages/language.service.js"; import { URI } from "../../../base/common/uri.js"; import { ILanguageConfigurationService } from "../../common/languages/languageConfigurationRegistry.service.js"; import { IEditorConstructionOptions } from "../../browser/config/editorConfiguration.js"; import { ILanguageFeaturesService } from "../../common/services/languageFeatures.service.js"; import { DiffEditorWidget } from "../../browser/widget/diffEditor/diffEditorWidget.js"; import { IAccessibilitySignalService } from "../../../platform/accessibilitySignal/browser/accessibilitySignalService.service.js"; import { IHoverService } from "../../../platform/hover/browser/hover.service.js"; import { IMarkdownRendererService } from "../../../platform/markdown/browser/markdownRenderer.service.js"; import { IUserInteractionService } from "../../../platform/userInteraction/browser/userInteractionService.service.js"; /** * Description of an action contribution */ export type IActionDescriptor = import("monaco-editor").editor.IActionDescriptor; /** * Options which apply for all editors. */ export interface IGlobalEditorOptions { /** * The number of spaces a tab is equal to. * This setting is overridden based on the file contents when `detectIndentation` is on. * Defaults to 4. */ tabSize?: number; /** * Insert spaces when pressing `Tab`. * This setting is overridden based on the file contents when `detectIndentation` is on. * Defaults to true. */ insertSpaces?: boolean; /** * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents. * Defaults to true. */ detectIndentation?: boolean; /** * Remove trailing auto inserted whitespace. * Defaults to true. */ trimAutoWhitespace?: boolean; /** * Special handling for large files to disable certain memory intensive features. * Defaults to true. */ largeFileOptimizations?: boolean; /** * Controls whether completions should be computed based on words in the document. * Defaults to true. */ wordBasedSuggestions?: "off" | "currentDocument" | "matchingDocuments" | "allDocuments"; /** * Controls whether word based completions should be included from opened documents of the same language or any language. */ wordBasedSuggestionsOnlySameLanguage?: boolean; /** * Controls whether the semanticHighlighting is shown for the languages that support it. * true: semanticHighlighting is enabled for all themes * false: semanticHighlighting is disabled for all themes * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting. * Defaults to 'byTheme'. */ "semanticHighlighting.enabled"?: true | false | "configuredByTheme"; /** * Keep peek editors open even when double-clicking their content or when hitting `Escape`. * Defaults to false. */ stablePeek?: boolean; /** * Lines above this length will not be tokenized for performance reasons. * Defaults to 20000. */ maxTokenizationLineLength?: number; /** * Theme to be used for rendering. * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black', 'hc-light'. * You can create custom themes via `monaco.editor.defineTheme`. * To switch a theme, use `monaco.editor.setTheme`. * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false. */ theme?: string; /** * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. * Defaults to true. */ autoDetectHighContrast?: boolean; } /** * The options to create an editor. */ export type IStandaloneEditorConstructionOptions = import("monaco-editor").editor.IStandaloneEditorConstructionOptions; /** * The options to create a diff editor. */ export type IStandaloneDiffEditorConstructionOptions = import("monaco-editor").editor.IStandaloneDiffEditorConstructionOptions; export type IStandaloneCodeEditor = import("monaco-editor").editor.IStandaloneCodeEditor; export type IStandaloneDiffEditor = import("monaco-editor").editor.IStandaloneDiffEditor; /** * A code editor to be used both by the standalone editor and the standalone diff editor. */ export declare class StandaloneCodeEditor extends CodeEditorWidget implements IStandaloneCodeEditor { private readonly _standaloneKeybindingService; constructor(domElement: HTMLElement, _options: Readonly, instantiationService: IInstantiationService, codeEditorService: ICodeEditorService, commandService: ICommandService, contextKeyService: IContextKeyService, hoverService: IHoverService, keybindingService: IKeybindingService, themeService: IThemeService, notificationService: INotificationService, accessibilityService: IAccessibilityService, languageConfigurationService: ILanguageConfigurationService, languageFeaturesService: ILanguageFeaturesService, markdownRendererService: IMarkdownRendererService, userInteractionService: IUserInteractionService); addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null; createContextKey(key: string, defaultValue: T): IContextKey; addAction(_descriptor: IActionDescriptor): IDisposable; protected _triggerCommand(handlerId: string, payload: unknown): void; } export declare class StandaloneEditor extends StandaloneCodeEditor implements IStandaloneCodeEditor { private readonly _configurationService; private readonly _standaloneThemeService; private _ownsModel; constructor(domElement: HTMLElement, _options: Readonly | undefined, instantiationService: IInstantiationService, codeEditorService: ICodeEditorService, commandService: ICommandService, contextKeyService: IContextKeyService, hoverService: IHoverService, keybindingService: IKeybindingService, themeService: IStandaloneThemeService, notificationService: INotificationService, configurationService: IConfigurationService, accessibilityService: IAccessibilityService, modelService: IModelService, languageService: ILanguageService, languageConfigurationService: ILanguageConfigurationService, languageFeaturesService: ILanguageFeaturesService, markdownRendererService: IMarkdownRendererService, userInteractionService: IUserInteractionService); dispose(): void; updateOptions(newOptions: Readonly): void; protected _postDetachModelCleanup(detachedModel: ITextModel): void; } export declare class StandaloneDiffEditor2 extends DiffEditorWidget implements IStandaloneDiffEditor { private readonly _configurationService; private readonly _standaloneThemeService; constructor(domElement: HTMLElement, _options: Readonly | undefined, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, codeEditorService: ICodeEditorService, themeService: IStandaloneThemeService, notificationService: INotificationService, configurationService: IConfigurationService, contextMenuService: IContextMenuService, editorProgressService: IEditorProgressService, clipboardService: IClipboardService, accessibilitySignalService: IAccessibilitySignalService, keybindingService: IKeybindingService); dispose(): void; updateOptions(newOptions: Readonly): void; protected _createInnerEditor(instantiationService: IInstantiationService, container: HTMLElement, options: Readonly): CodeEditorWidget; getOriginalEditor(): IStandaloneCodeEditor; getModifiedEditor(): IStandaloneCodeEditor; addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null; createContextKey(key: string, defaultValue: T): IContextKey; addAction(descriptor: IActionDescriptor): IDisposable; } /** * @internal */ export declare function createTextModel(modelService: IModelService, languageService: ILanguageService, value: string, languageId: string | undefined, uri: URI | undefined): ITextModel;