monaco-editor-core 0.54.0 → 0.55.0-dev-20251007
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/nls.messages.de.js +1 -1
- package/esm/nls.messages.es.js +1 -1
- package/esm/nls.messages.fr.js +1 -1
- package/esm/nls.messages.it.js +1 -1
- package/esm/nls.messages.ja.js +1 -1
- package/esm/nls.messages.ko.js +1 -1
- package/esm/nls.messages.ru.js +1 -1
- package/esm/nls.messages.zh-cn.js +1 -1
- package/esm/nls.messages.zh-tw.js +1 -1
- package/esm/vs/base/browser/canIUse.js +1 -0
- package/esm/vs/base/browser/canIUse.js.map +1 -1
- package/esm/vs/base/browser/dom.js +9 -0
- package/esm/vs/base/browser/dom.js.map +1 -1
- package/esm/vs/base/browser/fastDomNode.js.map +1 -1
- package/esm/vs/base/browser/mouseEvent.js +3 -0
- package/esm/vs/base/browser/mouseEvent.js.map +1 -1
- package/esm/vs/base/browser/trustedTypes.js +2 -0
- package/esm/vs/base/browser/trustedTypes.js.map +1 -1
- package/esm/vs/base/browser/ui/list/listWidget.js +5 -5
- package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
- package/esm/vs/base/browser/ui/sash/sash.css +1 -1
- package/esm/vs/base/browser/ui/sash/sash.js +4 -0
- package/esm/vs/base/browser/ui/sash/sash.js.map +1 -1
- package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
- package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
- package/esm/vs/base/browser/ui/table/table.css +2 -2
- package/esm/vs/base/browser/ui/tree/abstractTree.js +7 -3
- package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js +4 -0
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js +1 -0
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/media/tree.css +2 -2
- package/esm/vs/base/browser/webWorkerFactory.js +3 -0
- package/esm/vs/base/browser/webWorkerFactory.js.map +1 -1
- package/esm/vs/base/common/buffer.js.map +1 -1
- package/esm/vs/base/common/decorators.js +1 -0
- package/esm/vs/base/common/decorators.js.map +1 -1
- package/esm/vs/base/common/errors.js +1 -0
- package/esm/vs/base/common/errors.js.map +1 -1
- package/esm/vs/base/common/glob.js +1 -1
- package/esm/vs/base/common/glob.js.map +1 -1
- package/esm/vs/base/common/hash.js.map +1 -1
- package/esm/vs/base/common/hotReload.js +2 -0
- package/esm/vs/base/common/hotReload.js.map +1 -1
- package/esm/vs/base/common/hotReloadHelpers.js +1 -0
- package/esm/vs/base/common/hotReloadHelpers.js.map +1 -1
- package/esm/vs/base/common/lifecycle.js +19 -0
- package/esm/vs/base/common/lifecycle.js.map +1 -1
- package/esm/vs/base/common/map.js.map +1 -1
- package/esm/vs/base/common/marshalling.js +4 -0
- package/esm/vs/base/common/marshalling.js.map +1 -1
- package/esm/vs/base/common/network.js +1 -0
- package/esm/vs/base/common/network.js.map +1 -1
- package/esm/vs/base/common/objects.js +1 -0
- package/esm/vs/base/common/objects.js.map +1 -1
- package/esm/vs/base/common/observableInternal/changeTracker.js +4 -0
- package/esm/vs/base/common/observableInternal/changeTracker.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugLocation.js +1 -0
- package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugName.js +1 -0
- package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
- package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js +1 -0
- package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js.map +1 -1
- package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +1 -0
- package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js.map +1 -1
- package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js +1 -0
- package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/derived.js +7 -1
- package/esm/vs/base/common/observableInternal/observables/derived.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +2 -0
- package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -0
- package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
- package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +1 -0
- package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
- package/esm/vs/base/common/process.js +1 -0
- package/esm/vs/base/common/process.js.map +1 -1
- package/esm/vs/base/common/product.js.map +1 -1
- package/esm/vs/base/common/types.js +2 -0
- package/esm/vs/base/common/types.js.map +1 -1
- package/esm/vs/base/common/worker/webWorker.js +26 -14
- package/esm/vs/base/common/worker/webWorker.js.map +1 -1
- package/esm/vs/base/parts/sandbox/common/sandboxTypes.js +2 -0
- package/esm/vs/base/parts/sandbox/common/sandboxTypes.js.map +1 -0
- package/esm/vs/editor/browser/config/editorConfiguration.js +3 -2
- package/esm/vs/editor/browser/config/editorConfiguration.js.map +1 -1
- package/esm/vs/editor/browser/config/migrateOptions.js +1 -1
- package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +2 -0
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js.map +1 -1
- package/esm/vs/editor/browser/controller/mouseHandler.js +2 -1
- package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
- package/esm/vs/editor/browser/controller/mouseTarget.js +7 -0
- package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
- package/esm/vs/editor/browser/controller/pointerHandler.js.map +1 -1
- package/esm/vs/editor/browser/coreCommands.js.map +1 -1
- package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
- package/esm/vs/editor/browser/editorDom.js.map +1 -1
- package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
- package/esm/vs/editor/browser/gpu/gpuUtils.js +1 -0
- package/esm/vs/editor/browser/gpu/gpuUtils.js.map +1 -1
- package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -0
- package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
- package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
- package/esm/vs/editor/browser/services/bulkEditService.js.map +1 -1
- package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
- package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
- package/esm/vs/editor/browser/services/hoverService/hover.css +2 -0
- package/esm/vs/editor/browser/services/hoverService/hoverService.js.map +1 -1
- package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
- package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
- package/esm/vs/editor/browser/services/inlineCompletionsService.js +8 -8
- package/esm/vs/editor/browser/services/inlineCompletionsService.js.map +1 -1
- package/esm/vs/editor/browser/services/openerService.js.map +1 -1
- package/esm/vs/editor/browser/view/viewLayer.js +1 -1
- package/esm/vs/editor/browser/view/viewLayer.js.map +1 -1
- package/esm/vs/editor/browser/view.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -0
- package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +1 -0
- package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js.map +1 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js.map +1 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/utils.js +2 -0
- package/esm/vs/editor/browser/widget/diffEditor/utils.js.map +1 -1
- package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -0
- package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js.map +1 -1
- package/esm/vs/editor/common/config/editorOptions.js +122 -68
- package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
- package/esm/vs/editor/common/config/fontInfo.js +32 -16
- package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
- package/esm/vs/editor/common/config/fontInfoFromSettings.js +16 -0
- package/esm/vs/editor/common/config/fontInfoFromSettings.js.map +1 -0
- package/esm/vs/editor/common/core/edits/edit.js +1 -0
- package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
- package/esm/vs/editor/common/core/edits/stringEdit.js +2 -0
- package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
- package/esm/vs/editor/common/core/position.js +1 -1
- package/esm/vs/editor/common/core/position.js.map +1 -1
- package/esm/vs/editor/common/core/range.js +1 -1
- package/esm/vs/editor/common/core/range.js.map +1 -1
- package/esm/vs/editor/common/core/selection.js +1 -1
- package/esm/vs/editor/common/core/selection.js.map +1 -1
- package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
- package/esm/vs/editor/common/editorCommon.js.map +1 -1
- package/esm/vs/editor/common/languages.js +1 -1
- package/esm/vs/editor/common/languages.js.map +1 -1
- package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +14 -0
- package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js.map +1 -1
- package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +2 -0
- package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js.map +1 -1
- package/esm/vs/editor/common/model/textModel.js +1 -1
- package/esm/vs/editor/common/model/textModel.js.map +1 -1
- package/esm/vs/editor/common/model.js +1 -1
- package/esm/vs/editor/common/model.js.map +1 -1
- package/esm/vs/editor/common/services/editorBaseApi.js.map +1 -1
- package/esm/vs/editor/common/services/editorWebWorker.js +1 -0
- package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
- package/esm/vs/editor/common/services/editorWorkerHost.js.map +1 -1
- package/esm/vs/editor/common/services/modelService.js +14 -21
- package/esm/vs/editor/common/services/modelService.js.map +1 -1
- package/esm/vs/editor/common/textModelEditSource.js +2 -0
- package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +40 -1
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
- package/esm/vs/editor/common/viewModel/viewModelImpl.js +2 -1
- package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
- package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +1 -1
- package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js.map +1 -1
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +1 -0
- package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -0
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/findModel.js +1 -0
- package/esm/vs/editor/contrib/find/browser/findModel.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/findWidget.css +5 -5
- package/esm/vs/editor/contrib/folding/browser/folding.css +4 -4
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
- package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js.map +1 -1
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +30 -14
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +4 -3
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +56 -7
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
- package/esm/vs/editor/contrib/rename/browser/renameWidget.js.map +1 -1
- package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css +2 -0
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +2 -0
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
- package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js.map +1 -1
- package/esm/vs/editor/editor.api.d.ts +8 -8
- package/esm/vs/editor/editor.api.js +4 -0
- package/esm/vs/editor/editor.api.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneEditor.js +37 -0
- package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneLanguages.js +37 -0
- package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
- package/esm/vs/editor/standalone/common/monarch/monarchCompile.js +3 -0
- package/esm/vs/editor/standalone/common/monarch/monarchCompile.js.map +1 -1
- package/esm/vs/platform/accessibility/browser/accessibilityService.js +2 -2
- package/esm/vs/platform/accessibility/browser/accessibilityService.js.map +1 -1
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/esm/vs/platform/commands/common/commands.js.map +1 -1
- package/esm/vs/platform/contextkey/common/contextkey.js +5 -0
- package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
- package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js +1 -0
- package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js.map +1 -1
- package/esm/vs/platform/dnd/browser/dnd.js +2 -0
- package/esm/vs/platform/dnd/browser/dnd.js.map +1 -1
- package/esm/vs/platform/instantiation/common/descriptors.js.map +1 -1
- package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
- package/esm/vs/platform/instantiation/common/instantiationService.js +1 -0
- package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
- package/esm/vs/platform/list/browser/listService.js +5 -0
- package/esm/vs/platform/list/browser/listService.js.map +1 -1
- package/esm/vs/platform/log/common/log.js.map +1 -1
- package/esm/vs/platform/log/common/logService.js.map +1 -1
- package/esm/vs/platform/observable/common/wrapInHotClass.js +2 -0
- package/esm/vs/platform/observable/common/wrapInHotClass.js.map +1 -1
- package/esm/vs/platform/observable/common/wrapInReloadableClass.js +3 -0
- package/esm/vs/platform/observable/common/wrapInReloadableClass.js.map +1 -1
- package/esm/vs/platform/product/common/product.js +69 -0
- package/esm/vs/platform/product/common/product.js.map +1 -0
- package/esm/vs/platform/quickinput/browser/quickInput.js +1 -1
- package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
- package/monaco.d.ts +8 -8
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneEditor.ts","vs/editor/standalone/browser/standaloneEditor.ts"],"names":[],"mappings":"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","file":"standaloneEditor.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: any[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\tcreate: <any>create,\n\t\tgetEditors: <any>getEditors,\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\taddCommand: <any>addCommand,\n\t\taddEditorAction: <any>addEditorAction,\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\tcreateModel: <any>createModel,\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\tgetModels: <any>getModels,\n\t\tgetModel: <any>getModel,\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\tcolorizeElement: <any>colorizeElement,\n\t\tcolorize: <any>colorize,\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\ttokenize: <any>tokenize,\n\t\tdefineTheme: <any>defineTheme,\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\tFontInfo: <any>FontInfo,\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\tFindMatch: <any>FindMatch,\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: any[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\tcreate: <any>create,\n\t\tgetEditors: <any>getEditors,\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\taddCommand: <any>addCommand,\n\t\taddEditorAction: <any>addEditorAction,\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\tcreateModel: <any>createModel,\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\tgetModels: <any>getModels,\n\t\tgetModel: <any>getModel,\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\tcolorizeElement: <any>colorizeElement,\n\t\tcolorize: <any>colorize,\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\ttokenize: <any>tokenize,\n\t\tdefineTheme: <any>defineTheme,\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\tFontInfo: <any>FontInfo,\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\tFindMatch: <any>FindMatch,\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/standalone/browser/standaloneEditor.ts","vs/editor/standalone/browser/standaloneEditor.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAoB,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAA8C,eAAe,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAe,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAc,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAA+C,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAmJ,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtP,OAAO,EAA2B,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnH,OAAO,EAAwB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAa,MAAM,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAwB,cAAc,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAEtG;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,UAAuB,EAAE,OAA8C,EAAE,QAAkC;IACjI,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA2C;IAC5E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA2C;IAChF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACzB,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAuB,EAAE,OAAkD,EAAE,QAAkC;IAC/I,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,oBAAoB,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAuB,EAAE,QAAkC;IACpG,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,qBAAqB,CAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACxE,CAAC;AAgBD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAA8B;IACxD,IAAI,CAAC,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA6B;IAC5D,IAAI,CAAC,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;QAC7H,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,QAA0B,EAAE,GAAG,IAAe,EAAwB,EAAE;QACpF,OAAO,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IAExC,uBAAuB;IACvB,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpE,iCAAiC;IACjC,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAc;YAC3B,OAAO,EAAE;gBACR,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;aACvB;YACD,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU,CAAC,kBAAkB;YACpC,KAAK,EAAE,UAAU,CAAC,gBAAgB,IAAI,CAAC;SACvC,CAAC;QACF,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,iBAAiB,YAAY,2BAA2B,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACP,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnH,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC/F,OAAO;oBACN,UAAU;oBACV,OAAO,EAAE,UAAU,CAAC,EAAE;oBACtB,IAAI,EAAE,eAAe;iBACrB,CAAC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACtD,OAAO,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IAC1D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,iBAAiB,YAAY,2BAA2B,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;QAC9G,OAAO,UAAU,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjE,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3C,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,QAAiB,EAAE,GAAS;IACtE,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACjF,OAAO,eAAe,CACrB,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EACrC,eAAe,EACf,KAAK,EACL,UAAU,EACV,GAAG,CACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,oBAA4B;IAC/E,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,IAAI,qBAAqB,CAAC;IAClI,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAa,EAAE,OAAsB;IACvF,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7D,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyD;IACxF,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAChC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACxB,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAqC;IACrE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqC;IACvE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAmF;IAC3H,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;QAChD,QAAQ,CAAC;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,aAAa;SAC5B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAmB,IAA+B;IAChF,OAAO,qBAAqB,CAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,OAAiC;IACtF,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,OAAO,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3F,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,OAA0B;IACpF,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,YAAY,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiB,EAAE,UAAkB,EAAE,UAAkB,CAAC;IAC3F,MAAM,YAAY,GAA2B,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7F,YAAY,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAgB;IACnD,MAAM,mBAAmB,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACD,OAAO;QACN,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;QAChC,QAAQ,EAAE,CAAC,IAAY,EAAE,MAAe,EAAE,KAAuB,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC;KACnG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,UAAkB;IACxD,qEAAqE;IACrE,SAAS,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEvD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,mBAAmB,CAAC,eAAe,EAAE,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACtC,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,SAA+B;IAC7E,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/E,sBAAsB,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACzC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC/E,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAgD;IAC3F,OAAO,gBAAgB,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,aAAa,CAAC,cAAc,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,QAAsB;YAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAiBD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC7D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrE,OAAO,iBAAiB,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAA+B,EAAE,MAA0B,EAAE,UAAoB,EAAE,EAAE;QAClJ,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;QAC3C,IAAI,mBAAmD,CAAC;QACxD,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzG,mBAAmB,GAAW,SAAS,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,mBAAmB,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;QAChG,CAAC;QACD,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,CAAC,0FAA0F;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACtD,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACpC,OAAO;QACN,UAAU;QACV,mDAAmD;QACnD,MAAM,EAAO,MAAM;QACnB,mDAAmD;QACnD,UAAU,EAAO,UAAU;QAC3B,mDAAmD;QACnD,cAAc,EAAO,cAAc;QACnC,mDAAmD;QACnD,iBAAiB,EAAO,iBAAiB;QACzC,mDAAmD;QACnD,qBAAqB,EAAO,qBAAqB;QACjD,mDAAmD;QACnD,gBAAgB,EAAO,gBAAgB;QAEvC,mDAAmD;QACnD,UAAU,EAAO,UAAU;QAC3B,mDAAmD;QACnD,eAAe,EAAO,eAAe;QACrC,mDAAmD;QACnD,iBAAiB,EAAO,iBAAiB;QACzC,mDAAmD;QACnD,kBAAkB,EAAO,kBAAkB;QAE3C,mDAAmD;QACnD,WAAW,EAAO,WAAW;QAC7B,mDAAmD;QACnD,gBAAgB,EAAO,gBAAgB;QACvC,mDAAmD;QACnD,eAAe,EAAO,eAAe;QACrC,mDAAmD;QACnD,eAAe,EAAO,eAAe;QACrC,gBAAgB,EAAE,gBAAgB;QAClC,mDAAmD;QACnD,kBAAkB,EAAO,kBAAkB;QAC3C,mDAAmD;QACnD,SAAS,EAAO,SAAS;QACzB,mDAAmD;QACnD,QAAQ,EAAO,QAAQ;QACvB,mDAAmD;QACnD,gBAAgB,EAAO,gBAAgB;QACvC,mDAAmD;QACnD,kBAAkB,EAAO,kBAAkB;QAC3C,mDAAmD;QACnD,wBAAwB,EAAO,wBAAwB;QAGvD,mDAAmD;QACnD,eAAe,EAAO,eAAe;QACrC,mDAAmD;QACnD,eAAe,EAAO,eAAe;QACrC,mDAAmD;QACnD,QAAQ,EAAO,QAAQ;QACvB,mDAAmD;QACnD,iBAAiB,EAAO,iBAAiB;QACzC,mDAAmD;QACnD,QAAQ,EAAO,QAAQ;QACvB,mDAAmD;QACnD,WAAW,EAAO,WAAW;QAC7B,mDAAmD;QACnD,QAAQ,EAAO,QAAQ;QACvB,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,eAAe;QAEhC,kBAAkB,EAAE,kBAAkB;QACtC,mDAAmD;QACnD,oBAAoB,EAAO,oBAAoB;QAE/C,QAAQ;QACR,oBAAoB,EAAE,eAAe,CAAC,oBAAoB;QAC1D,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;QAChF,kBAAkB,EAAE,eAAe,CAAC,kBAAkB;QACtD,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,wBAAwB,EAAE,eAAe,CAAC,wBAAwB;QAClE,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,yBAAyB,EAAE,eAAe,CAAC,yBAAyB;QACpE,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;QAChF,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,eAAe,EAAE,eAAe,CAAC,eAAe;QAChD,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,aAAa,EAAE,eAAe,CAAC,aAAa;QAC5C,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,6BAA6B,EAAE,eAAe,CAAC,6BAA6B;QAC5E,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;QAC9D,cAAc,EAAE,eAAe,CAAC,cAAc;QAC9C,uBAAuB,EAAE,eAAe,CAAC,uBAAuB;QAChE,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,qBAAqB,EAAE,eAAe,CAAC,qBAAqB;QAC5D,aAAa,EAAE,eAAe,CAAC,aAAa;QAE5C,UAAU;QACV,mDAAmD;QACnD,yBAAyB,EAAO,yBAAyB;QACzD,mDAAmD;QACnD,YAAY,EAAO,YAAY;QAC/B,mDAAmD;QACnD,QAAQ,EAAO,QAAQ;QACvB,mDAAmD;QACnD,wBAAwB,EAAO,wBAAwB;QACvD,mDAAmD;QACnD,SAAS,EAAO,SAAS;QACzB,mDAAmD;QACnD,iBAAiB,EAAO,iBAAiB;QACzC,mDAAmD;QACnD,UAAU,EAAO,UAAU;QAE3B,mDAAmD;QACnD,yBAAyB,EAAO,yBAAyB;QAEzD,OAAO;QACP,UAAU,EAAE,UAAU;QACtB,mDAAmD;QACnD,aAAa,EAAO,aAAa;KAEjC,CAAC;AACH,CAAC","file":"standaloneEditor.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: unknown[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreate: <any>create,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetEditors: <any>getEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddCommand: <any>addCommand,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddEditorAction: <any>addEditorAction,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateModel: <any>createModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModels: <any>getModels,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModel: <any>getModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeElement: <any>colorizeElement,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorize: <any>colorize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\ttokenize: <any>tokenize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tdefineTheme: <any>defineTheme,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFontInfo: <any>FontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFindMatch: <any>FindMatch,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Disposable, DisposableStore, IDisposable } from '../../../base/common/lifecycle.js';\nimport { splitLines } from '../../../base/common/strings.js';\nimport { URI } from '../../../base/common/uri.js';\nimport './standalone-tokens.css';\nimport { FontMeasurements } from '../../browser/config/fontMeasurements.js';\nimport { ICodeEditor } from '../../browser/editorBrowser.js';\nimport { EditorCommand, ServicesAccessor } from '../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../browser/services/codeEditorService.js';\nimport { IInternalWebWorkerOptions, MonacoWebWorker, createWebWorker as actualCreateWebWorker } from './standaloneWebWorker.js';\nimport { ApplyUpdateResult, ConfigurationChangedEvent, EditorOptions } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo, FontInfo } from '../../common/config/fontInfo.js';\nimport { IPosition } from '../../common/core/position.js';\nimport { IRange } from '../../common/core/range.js';\nimport { EditorType, IDiffEditor } from '../../common/editorCommon.js';\nimport * as languages from '../../common/languages.js';\nimport { ILanguageService } from '../../common/languages/language.js';\nimport { PLAINTEXT_LANGUAGE_ID } from '../../common/languages/modesRegistry.js';\nimport { NullState, nullTokenize } from '../../common/languages/nullTokenize.js';\nimport { FindMatch, ITextModel, TextModelResolvedOptions } from '../../common/model.js';\nimport { IModelService } from '../../common/services/model.js';\nimport * as standaloneEnums from '../../common/standalone/standaloneEnums.js';\nimport { Colorizer, IColorizerElementOptions, IColorizerOptions } from './colorizer.js';\nimport { IActionDescriptor, IStandaloneCodeEditor, IStandaloneDiffEditor, IStandaloneDiffEditorConstructionOptions, IStandaloneEditorConstructionOptions, StandaloneDiffEditor2, StandaloneEditor, createTextModel } from './standaloneCodeEditor.js';\nimport { IEditorOverrideServices, StandaloneKeybindingService, StandaloneServices } from './standaloneServices.js';\nimport { StandaloneThemeService } from './standaloneThemeService.js';\nimport { IStandaloneThemeData, IStandaloneThemeService } from '../common/standaloneTheme.js';\nimport { IMenuItem, MenuId, MenuRegistry } from '../../../platform/actions/common/actions.js';\nimport { CommandsRegistry, ICommandHandler } from '../../../platform/commands/common/commands.js';\nimport { ContextKeyExpr } from '../../../platform/contextkey/common/contextkey.js';\nimport { ITextResourceEditorInput } from '../../../platform/editor/common/editor.js';\nimport { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';\nimport { IMarker, IMarkerData, IMarkerService } from '../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../platform/opener/common/opener.js';\nimport { MultiDiffEditorWidget } from '../../browser/widget/multiDiffEditor/multiDiffEditorWidget.js';\n\n/**\n * Create a new editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneEditor, domElement, options);\n}\n\n/**\n * Emitted when an editor is created.\n * Creating a diff editor might cause this listener to be invoked with the two editors.\n * @event\n */\nexport function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onCodeEditorAdd((editor) => {\n\t\tlistener(<ICodeEditor>editor);\n\t});\n}\n\n/**\n * Emitted when an diff editor is created.\n * @event\n */\nexport function onDidCreateDiffEditor(listener: (diffEditor: IDiffEditor) => void): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.onDiffEditorAdd((editor) => {\n\t\tlistener(<IDiffEditor>editor);\n\t});\n}\n\n/**\n * Get all the created editors.\n */\nexport function getEditors(): readonly ICodeEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listCodeEditors();\n}\n\n/**\n * Get all the created diff editors.\n */\nexport function getDiffEditors(): readonly IDiffEditor[] {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.listDiffEditors();\n}\n\n/**\n * Create a new diff editor under `domElement`.\n * `domElement` should be empty (not contain other dom nodes).\n * The editor will read the size of `domElement`.\n */\nexport function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn instantiationService.createInstance(StandaloneDiffEditor2, domElement, options);\n}\n\nexport function createMultiFileDiffEditor(domElement: HTMLElement, override?: IEditorOverrideServices) {\n\tconst instantiationService = StandaloneServices.initialize(override || {});\n\treturn new MultiDiffEditorWidget(domElement, {}, instantiationService);\n}\n\n/**\n * Description of a command contribution\n */\nexport interface ICommandDescriptor {\n\t/**\n\t * An unique identifier of the contributed command.\n\t */\n\tid: string;\n\t/**\n\t * Callback that will be executed when the command is triggered.\n\t */\n\trun: ICommandHandler;\n}\n\n/**\n * Add a command.\n */\nexport function addCommand(descriptor: ICommandDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid command descriptor, `id` and `run` are required properties!');\n\t}\n\treturn CommandsRegistry.registerCommand(descriptor.id, descriptor.run);\n}\n\n/**\n * Add an action to all editors.\n */\nexport function addEditorAction(descriptor: IActionDescriptor): IDisposable {\n\tif ((typeof descriptor.id !== 'string') || (typeof descriptor.label !== 'string') || (typeof descriptor.run !== 'function')) {\n\t\tthrow new Error('Invalid action descriptor, `id`, `label` and `run` are required properties!');\n\t}\n\n\tconst precondition = ContextKeyExpr.deserialize(descriptor.precondition);\n\tconst run = (accessor: ServicesAccessor, ...args: unknown[]): void | Promise<void> => {\n\t\treturn EditorCommand.runEditorCommand(accessor, args, precondition, (accessor, editor, args) => Promise.resolve(descriptor.run(editor, ...args)));\n\t};\n\n\tconst toDispose = new DisposableStore();\n\n\t// Register the command\n\ttoDispose.add(CommandsRegistry.registerCommand(descriptor.id, run));\n\n\t// Register the context menu item\n\tif (descriptor.contextMenuGroupId) {\n\t\tconst menuItem: IMenuItem = {\n\t\t\tcommand: {\n\t\t\t\tid: descriptor.id,\n\t\t\t\ttitle: descriptor.label\n\t\t\t},\n\t\t\twhen: precondition,\n\t\t\tgroup: descriptor.contextMenuGroupId,\n\t\t\torder: descriptor.contextMenuOrder || 0\n\t\t};\n\t\ttoDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext, menuItem));\n\t}\n\n\t// Register the keybindings\n\tif (Array.isArray(descriptor.keybindings)) {\n\t\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\t\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\t} else {\n\t\t\tconst keybindingsWhen = ContextKeyExpr.and(precondition, ContextKeyExpr.deserialize(descriptor.keybindingContext));\n\t\t\ttoDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding) => {\n\t\t\t\treturn {\n\t\t\t\t\tkeybinding,\n\t\t\t\t\tcommand: descriptor.id,\n\t\t\t\t\twhen: keybindingsWhen\n\t\t\t\t};\n\t\t\t})));\n\t\t}\n\t}\n\n\treturn toDispose;\n}\n\n/**\n * A keybinding rule.\n */\nexport interface IKeybindingRule {\n\tkeybinding: number;\n\tcommand?: string | null;\n\tcommandArgs?: any;\n\twhen?: string | null;\n}\n\n/**\n * Add a keybinding rule.\n */\nexport function addKeybindingRule(rule: IKeybindingRule): IDisposable {\n\treturn addKeybindingRules([rule]);\n}\n\n/**\n * Add keybinding rules.\n */\nexport function addKeybindingRules(rules: IKeybindingRule[]): IDisposable {\n\tconst keybindingService = StandaloneServices.get(IKeybindingService);\n\tif (!(keybindingService instanceof StandaloneKeybindingService)) {\n\t\tconsole.warn('Cannot add keybinding because the editor is configured with an unrecognized KeybindingService');\n\t\treturn Disposable.None;\n\t}\n\n\treturn keybindingService.addDynamicKeybindings(rules.map((rule) => {\n\t\treturn {\n\t\t\tkeybinding: rule.keybinding,\n\t\t\tcommand: rule.command,\n\t\t\tcommandArgs: rule.commandArgs,\n\t\t\twhen: ContextKeyExpr.deserialize(rule.when),\n\t\t};\n\t}));\n}\n\n/**\n * Create a new editor model.\n * You can specify the language that should be set for this model or let the language be inferred from the `uri`.\n */\nexport function createModel(value: string, language?: string, uri?: URI): ITextModel {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(language) || language;\n\treturn createTextModel(\n\t\tStandaloneServices.get(IModelService),\n\t\tlanguageService,\n\t\tvalue,\n\t\tlanguageId,\n\t\turi\n\t);\n}\n\n/**\n * Change the language for a model.\n */\nexport function setModelLanguage(model: ITextModel, mimeTypeOrLanguageId: string): void {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst languageId = languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId) || mimeTypeOrLanguageId || PLAINTEXT_LANGUAGE_ID;\n\tmodel.setLanguage(languageService.createById(languageId));\n}\n\n/**\n * Set the markers for a model.\n */\nexport function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void {\n\tif (model) {\n\t\tconst markerService = StandaloneServices.get(IMarkerService);\n\t\tmarkerService.changeOne(owner, model.uri, markers);\n\t}\n}\n\n/**\n * Remove all markers of an owner.\n */\nexport function removeAllMarkers(owner: string) {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\tmarkerService.changeAll(owner, []);\n}\n\n/**\n * Get markers for owner and/or resource\n *\n * @returns list of markers\n */\nexport function getModelMarkers(filter: { owner?: string; resource?: URI; take?: number }): IMarker[] {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.read(filter);\n}\n\n/**\n * Emitted when markers change for a model.\n * @event\n */\nexport function onDidChangeMarkers(listener: (e: readonly URI[]) => void): IDisposable {\n\tconst markerService = StandaloneServices.get(IMarkerService);\n\treturn markerService.onMarkerChanged(listener);\n}\n\n/**\n * Get the model that has `uri` if it exists.\n */\nexport function getModel(uri: URI): ITextModel | null {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModel(uri);\n}\n\n/**\n * Get all the created models.\n */\nexport function getModels(): ITextModel[] {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.getModels();\n}\n\n/**\n * Emitted when a model is created.\n * @event\n */\nexport function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelAdded(listener);\n}\n\n/**\n * Emitted right before a model is disposed.\n * @event\n */\nexport function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelRemoved(listener);\n}\n\n/**\n * Emitted when a different language is set to a model.\n * @event\n */\nexport function onDidChangeModelLanguage(listener: (e: { readonly model: ITextModel; readonly oldLanguage: string }) => void): IDisposable {\n\tconst modelService = StandaloneServices.get(IModelService);\n\treturn modelService.onModelLanguageChanged((e) => {\n\t\tlistener({\n\t\t\tmodel: e.model,\n\t\t\toldLanguage: e.oldLanguageId\n\t\t});\n\t});\n}\n\n/**\n * Create a new web worker that has model syncing capabilities built in.\n * Specify an AMD module to load that will `create` an object that will be proxied.\n */\nexport function createWebWorker<T extends object>(opts: IInternalWebWorkerOptions): MonacoWebWorker<T> {\n\treturn actualCreateWebWorker<T>(StandaloneServices.get(IModelService), opts);\n}\n\n/**\n * Colorize the contents of `domNode` using attribute `data-lang`.\n */\nexport function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\treturn Colorizer.colorizeElement(themeService, languageService, domNode, options).then(() => {\n\t\tthemeService.registerEditorContainer(domNode);\n\t});\n}\n\n/**\n * Colorize `text` using language `languageId`.\n */\nexport function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string> {\n\tconst languageService = StandaloneServices.get(ILanguageService);\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorize(languageService, text, languageId, options);\n}\n\n/**\n * Colorize a line in a model.\n */\nexport function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize: number = 4): string {\n\tconst themeService = <StandaloneThemeService>StandaloneServices.get(IStandaloneThemeService);\n\tthemeService.registerEditorContainer(mainWindow.document.body);\n\treturn Colorizer.colorizeModelLine(model, lineNumber, tabSize);\n}\n\n/**\n * @internal\n */\nfunction getSafeTokenizationSupport(language: string): Omit<languages.ITokenizationSupport, 'tokenizeEncoded'> {\n\tconst tokenizationSupport = languages.TokenizationRegistry.get(language);\n\tif (tokenizationSupport) {\n\t\treturn tokenizationSupport;\n\t}\n\treturn {\n\t\tgetInitialState: () => NullState,\n\t\ttokenize: (line: string, hasEOL: boolean, state: languages.IState) => nullTokenize(language, state)\n\t};\n}\n\n/**\n * Tokenize `text` using language `languageId`\n */\nexport function tokenize(text: string, languageId: string): languages.Token[][] {\n\t// Needed in order to get the mode registered for subsequent look-ups\n\tlanguages.TokenizationRegistry.getOrCreate(languageId);\n\n\tconst tokenizationSupport = getSafeTokenizationSupport(languageId);\n\tconst lines = splitLines(text);\n\tconst result: languages.Token[][] = [];\n\tlet state = tokenizationSupport.getInitialState();\n\tfor (let i = 0, len = lines.length; i < len; i++) {\n\t\tconst line = lines[i];\n\t\tconst tokenizationResult = tokenizationSupport.tokenize(line, true, state);\n\n\t\tresult[i] = tokenizationResult.tokens;\n\t\tstate = tokenizationResult.endState;\n\t}\n\treturn result;\n}\n\n/**\n * Define a new theme or update an existing theme.\n */\nexport function defineTheme(themeName: string, themeData: IStandaloneThemeData): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.defineTheme(themeName, themeData);\n}\n\n/**\n * Switches to a theme.\n */\nexport function setTheme(themeName: string): void {\n\tconst standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);\n\tstandaloneThemeService.setTheme(themeName);\n}\n\n/**\n * Clears all cached font measurements and triggers re-measurement.\n */\nexport function remeasureFonts(): void {\n\tFontMeasurements.clearAllFontInfos();\n}\n\n/**\n * Register a command.\n */\nexport function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable {\n\treturn CommandsRegistry.registerCommand({ id, handler });\n}\n\nexport interface ILinkOpener {\n\topen(resource: URI): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a link is opened in any editor. The handler callback should return `true` if the link was handled and `false` otherwise.\n * The handler that was registered last will be called first when a link is opened.\n *\n * Returns a disposable that can unregister the opener again.\n */\nexport function registerLinkOpener(opener: ILinkOpener): IDisposable {\n\tconst openerService = StandaloneServices.get(IOpenerService);\n\treturn openerService.registerOpener({\n\t\tasync open(resource: string | URI) {\n\t\t\tif (typeof resource === 'string') {\n\t\t\t\tresource = URI.parse(resource);\n\t\t\t}\n\t\t\treturn opener.open(resource);\n\t\t}\n\t});\n}\n\n/**\n * Represents an object that can handle editor open operations (e.g. when \"go to definition\" is called\n * with a resource other than the current model).\n */\nexport interface ICodeEditorOpener {\n\t/**\n\t * Callback that is invoked when a resource other than the current model should be opened (e.g. when \"go to definition\" is called).\n\t * The callback should return `true` if the request was handled and `false` otherwise.\n\t * @param source The code editor instance that initiated the request.\n\t * @param resource The URI of the resource that should be opened.\n\t * @param selectionOrPosition An optional position or selection inside the model corresponding to `resource` that can be used to set the cursor.\n\t */\n\topenCodeEditor(source: ICodeEditor, resource: URI, selectionOrPosition?: IRange | IPosition): boolean | Promise<boolean>;\n}\n\n/**\n * Registers a handler that is called when a resource other than the current model should be opened in the editor (e.g. \"go to definition\").\n * The handler callback should return `true` if the request was handled and `false` otherwise.\n *\n * Returns a disposable that can unregister the opener again.\n *\n * If no handler is registered the default behavior is to do nothing for models other than the currently attached one.\n */\nexport function registerEditorOpener(opener: ICodeEditorOpener): IDisposable {\n\tconst codeEditorService = StandaloneServices.get(ICodeEditorService);\n\treturn codeEditorService.registerCodeEditorOpenHandler(async (input: ITextResourceEditorInput, source: ICodeEditor | null, sideBySide?: boolean) => {\n\t\tif (!source) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selection = input.options?.selection;\n\t\tlet selectionOrPosition: IRange | IPosition | undefined;\n\t\tif (selection && typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {\n\t\t\tselectionOrPosition = <IRange>selection;\n\t\t} else if (selection) {\n\t\t\tselectionOrPosition = { lineNumber: selection.startLineNumber, column: selection.startColumn };\n\t\t}\n\t\tif (await opener.openCodeEditor(source, input.resource, selectionOrPosition)) {\n\t\t\treturn source; // return source editor to indicate that this handler has successfully handled the opening\n\t\t}\n\t\treturn null; // fallback to other registered handlers\n\t});\n}\n\n/**\n * @internal\n */\nexport function createMonacoEditorAPI(): typeof monaco.editor {\n\treturn {\n\t\t// methods\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreate: <any>create,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetEditors: <any>getEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetDiffEditors: <any>getDiffEditors,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateEditor: <any>onDidCreateEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateDiffEditor: <any>onDidCreateDiffEditor,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateDiffEditor: <any>createDiffEditor,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddCommand: <any>addCommand,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddEditorAction: <any>addEditorAction,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRule: <any>addKeybindingRule,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\taddKeybindingRules: <any>addKeybindingRules,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateModel: <any>createModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelLanguage: <any>setModelLanguage,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetModelMarkers: <any>setModelMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModelMarkers: <any>getModelMarkers,\n\t\tremoveAllMarkers: removeAllMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeMarkers: <any>onDidChangeMarkers,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModels: <any>getModels,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tgetModel: <any>getModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidCreateModel: <any>onDidCreateModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonWillDisposeModel: <any>onWillDisposeModel,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tonDidChangeModelLanguage: <any>onDidChangeModelLanguage,\n\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateWebWorker: <any>createWebWorker,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeElement: <any>colorizeElement,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorize: <any>colorize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcolorizeModelLine: <any>colorizeModelLine,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\ttokenize: <any>tokenize,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tdefineTheme: <any>defineTheme,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tsetTheme: <any>setTheme,\n\t\tremeasureFonts: remeasureFonts,\n\t\tregisterCommand: registerCommand,\n\n\t\tregisterLinkOpener: registerLinkOpener,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tregisterEditorOpener: <any>registerEditorOpener,\n\n\t\t// enums\n\t\tAccessibilitySupport: standaloneEnums.AccessibilitySupport,\n\t\tContentWidgetPositionPreference: standaloneEnums.ContentWidgetPositionPreference,\n\t\tCursorChangeReason: standaloneEnums.CursorChangeReason,\n\t\tDefaultEndOfLine: standaloneEnums.DefaultEndOfLine,\n\t\tEditorAutoIndentStrategy: standaloneEnums.EditorAutoIndentStrategy,\n\t\tEditorOption: standaloneEnums.EditorOption,\n\t\tEndOfLinePreference: standaloneEnums.EndOfLinePreference,\n\t\tEndOfLineSequence: standaloneEnums.EndOfLineSequence,\n\t\tMinimapPosition: standaloneEnums.MinimapPosition,\n\t\tMinimapSectionHeaderStyle: standaloneEnums.MinimapSectionHeaderStyle,\n\t\tMouseTargetType: standaloneEnums.MouseTargetType,\n\t\tOverlayWidgetPositionPreference: standaloneEnums.OverlayWidgetPositionPreference,\n\t\tOverviewRulerLane: standaloneEnums.OverviewRulerLane,\n\t\tGlyphMarginLane: standaloneEnums.GlyphMarginLane,\n\t\tRenderLineNumbersType: standaloneEnums.RenderLineNumbersType,\n\t\tRenderMinimap: standaloneEnums.RenderMinimap,\n\t\tScrollbarVisibility: standaloneEnums.ScrollbarVisibility,\n\t\tScrollType: standaloneEnums.ScrollType,\n\t\tTextEditorCursorBlinkingStyle: standaloneEnums.TextEditorCursorBlinkingStyle,\n\t\tTextEditorCursorStyle: standaloneEnums.TextEditorCursorStyle,\n\t\tTrackedRangeStickiness: standaloneEnums.TrackedRangeStickiness,\n\t\tWrappingIndent: standaloneEnums.WrappingIndent,\n\t\tInjectedTextCursorStops: standaloneEnums.InjectedTextCursorStops,\n\t\tPositionAffinity: standaloneEnums.PositionAffinity,\n\t\tShowLightbulbIconMode: standaloneEnums.ShowLightbulbIconMode,\n\t\tTextDirection: standaloneEnums.TextDirection,\n\n\t\t// classes\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tConfigurationChangedEvent: <any>ConfigurationChangedEvent,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tBareFontInfo: <any>BareFontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFontInfo: <any>FontInfo,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tTextModelResolvedOptions: <any>TextModelResolvedOptions,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tFindMatch: <any>FindMatch,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tApplyUpdateResult: <any>ApplyUpdateResult,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorZoom: <any>EditorZoom,\n\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tcreateMultiFileDiffEditor: <any>createMultiFileDiffEditor,\n\n\t\t// vars\n\t\tEditorType: EditorType,\n\t\t// eslint-disable-next-line local/code-no-any-casts\n\t\tEditorOptions: <any>EditorOptions\n\n\t};\n}\n"]}
|
|
@@ -517,42 +517,77 @@ export function registerInlayHintsProvider(languageSelector, provider) {
|
|
|
517
517
|
*/
|
|
518
518
|
export function createMonacoLanguagesAPI() {
|
|
519
519
|
return {
|
|
520
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
520
521
|
register: register,
|
|
522
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
521
523
|
getLanguages: getLanguages,
|
|
524
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
522
525
|
onLanguage: onLanguage,
|
|
526
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
523
527
|
onLanguageEncountered: onLanguageEncountered,
|
|
528
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
524
529
|
getEncodedLanguageId: getEncodedLanguageId,
|
|
525
530
|
// provider methods
|
|
531
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
526
532
|
setLanguageConfiguration: setLanguageConfiguration,
|
|
527
533
|
setColorMap: setColorMap,
|
|
534
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
528
535
|
registerTokensProviderFactory: registerTokensProviderFactory,
|
|
536
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
529
537
|
setTokensProvider: setTokensProvider,
|
|
538
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
530
539
|
setMonarchTokensProvider: setMonarchTokensProvider,
|
|
540
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
531
541
|
registerReferenceProvider: registerReferenceProvider,
|
|
542
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
532
543
|
registerRenameProvider: registerRenameProvider,
|
|
544
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
533
545
|
registerNewSymbolNameProvider: registerNewSymbolNameProvider,
|
|
546
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
534
547
|
registerCompletionItemProvider: registerCompletionItemProvider,
|
|
548
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
535
549
|
registerSignatureHelpProvider: registerSignatureHelpProvider,
|
|
550
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
536
551
|
registerHoverProvider: registerHoverProvider,
|
|
552
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
537
553
|
registerDocumentSymbolProvider: registerDocumentSymbolProvider,
|
|
554
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
538
555
|
registerDocumentHighlightProvider: registerDocumentHighlightProvider,
|
|
556
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
539
557
|
registerLinkedEditingRangeProvider: registerLinkedEditingRangeProvider,
|
|
558
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
540
559
|
registerDefinitionProvider: registerDefinitionProvider,
|
|
560
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
541
561
|
registerImplementationProvider: registerImplementationProvider,
|
|
562
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
542
563
|
registerTypeDefinitionProvider: registerTypeDefinitionProvider,
|
|
564
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
543
565
|
registerCodeLensProvider: registerCodeLensProvider,
|
|
566
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
544
567
|
registerCodeActionProvider: registerCodeActionProvider,
|
|
568
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
545
569
|
registerDocumentFormattingEditProvider: registerDocumentFormattingEditProvider,
|
|
570
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
546
571
|
registerDocumentRangeFormattingEditProvider: registerDocumentRangeFormattingEditProvider,
|
|
572
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
547
573
|
registerOnTypeFormattingEditProvider: registerOnTypeFormattingEditProvider,
|
|
574
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
548
575
|
registerLinkProvider: registerLinkProvider,
|
|
576
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
549
577
|
registerColorProvider: registerColorProvider,
|
|
578
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
550
579
|
registerFoldingRangeProvider: registerFoldingRangeProvider,
|
|
580
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
551
581
|
registerDeclarationProvider: registerDeclarationProvider,
|
|
582
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
552
583
|
registerSelectionRangeProvider: registerSelectionRangeProvider,
|
|
584
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
553
585
|
registerDocumentSemanticTokensProvider: registerDocumentSemanticTokensProvider,
|
|
586
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
554
587
|
registerDocumentRangeSemanticTokensProvider: registerDocumentRangeSemanticTokensProvider,
|
|
588
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
555
589
|
registerInlineCompletionsProvider: registerInlineCompletionsProvider,
|
|
590
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
556
591
|
registerInlayHintsProvider: registerInlayHintsProvider,
|
|
557
592
|
// enums
|
|
558
593
|
DocumentHighlightKind: standaloneEnums.DocumentHighlightKind,
|
|
@@ -575,7 +610,9 @@ export function createMonacoLanguagesAPI() {
|
|
|
575
610
|
InlineCompletionDisplayLocationKind: standaloneEnums.InlineCompletionDisplayLocationKind,
|
|
576
611
|
// classes
|
|
577
612
|
FoldingRangeKind: languages.FoldingRangeKind,
|
|
613
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
578
614
|
SelectedSuggestionInfo: languages.SelectedSuggestionInfo,
|
|
615
|
+
// eslint-disable-next-line local/code-no-any-casts
|
|
579
616
|
EditDeltaInfo: EditDeltaInfo,
|
|
580
617
|
};
|
|
581
618
|
}
|