{"version":3,"file":"static/js/9616_fd1daaa421068b1fe54d.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/view.js"],"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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport * as dom from '../../base/browser/dom.js';\nimport { createFastDomNode } from '../../base/browser/fastDomNode.js';\nimport { inputLatency } from '../../base/browser/performance.js';\nimport { BugIndicatingError, onUnexpectedError } from '../../base/common/errors.js';\nimport { PointerHandlerLastRenderData } from './controller/mouseTarget.js';\nimport { PointerHandler } from './controller/pointerHandler.js';\nimport { TextAreaHandler } from './controller/textAreaHandler.js';\nimport { RenderingContext } from './view/renderingContext.js';\nimport { ViewController } from './view/viewController.js';\nimport { ContentViewOverlays, MarginViewOverlays } from './view/viewOverlays.js';\nimport { PartFingerprints } from './view/viewPart.js';\nimport { ViewUserInputEvents } from './view/viewUserInputEvents.js';\nimport { BlockDecorations } from './viewParts/blockDecorations/blockDecorations.js';\nimport { ViewContentWidgets } from './viewParts/contentWidgets/contentWidgets.js';\nimport { CurrentLineHighlightOverlay, CurrentLineMarginHighlightOverlay } from './viewParts/currentLineHighlight/currentLineHighlight.js';\nimport { DecorationsOverlay } from './viewParts/decorations/decorations.js';\nimport { EditorScrollbar } from './viewParts/editorScrollbar/editorScrollbar.js';\nimport { GlyphMarginWidgets } from './viewParts/glyphMargin/glyphMargin.js';\nimport { IndentGuidesOverlay } from './viewParts/indentGuides/indentGuides.js';\nimport { LineNumbersOverlay } from './viewParts/lineNumbers/lineNumbers.js';\nimport { ViewLines } from './viewParts/lines/viewLines.js';\nimport { LinesDecorationsOverlay } from './viewParts/linesDecorations/linesDecorations.js';\nimport { Margin } from './viewParts/margin/margin.js';\nimport { MarginViewLineDecorationsOverlay } from './viewParts/marginDecorations/marginDecorations.js';\nimport { Minimap } from './viewParts/minimap/minimap.js';\nimport { ViewOverlayWidgets } from './viewParts/overlayWidgets/overlayWidgets.js';\nimport { DecorationsOverviewRuler } from './viewParts/overviewRuler/decorationsOverviewRuler.js';\nimport { OverviewRuler } from './viewParts/overviewRuler/overviewRuler.js';\nimport { Rulers } from './viewParts/rulers/rulers.js';\nimport { ScrollDecorationViewPart } from './viewParts/scrollDecoration/scrollDecoration.js';\nimport { SelectionsOverlay } from './viewParts/selections/selections.js';\nimport { ViewCursors } from './viewParts/viewCursors/viewCursors.js';\nimport { ViewZones } from './viewParts/viewZones/viewZones.js';\nimport { WhitespaceOverlay } from './viewParts/whitespace/whitespace.js';\nimport { Position } from '../common/core/position.js';\nimport { Range } from '../common/core/range.js';\nimport { Selection } from '../common/core/selection.js';\nimport { GlyphMarginLane } from '../common/model.js';\nimport { ViewEventHandler } from '../common/viewEventHandler.js';\nimport { ViewportData } from '../common/viewLayout/viewLinesViewportData.js';\nimport { ViewContext } from '../common/viewModel/viewContext.js';\nimport { IInstantiationService } from '../../platform/instantiation/common/instantiation.js';\nimport { getThemeTypeSelector } from '../../platform/theme/common/themeService.js';\nlet View = class View extends ViewEventHandler {\n constructor(commandDelegate, configuration, colorTheme, model, userInputEvents, overflowWidgetsDomNode, _instantiationService) {\n super();\n this._instantiationService = _instantiationService;\n // Actual mutable state\n this._shouldRecomputeGlyphMarginLanes = false;\n this._selections = [new Selection(1, 1, 1, 1)];\n this._renderAnimationFrame = null;\n const viewController = new ViewController(configuration, model, userInputEvents, commandDelegate);\n // The view context is passed on to most classes (basically to reduce param. counts in ctors)\n this._context = new ViewContext(configuration, colorTheme, model);\n // Ensure the view is the first event handler in order to update the layout\n this._context.addEventHandler(this);\n this._viewParts = [];\n // Keyboard handler\n this._textAreaHandler = this._instantiationService.createInstance(TextAreaHandler, this._context, viewController, this._createTextAreaHandlerHelper());\n this._viewParts.push(this._textAreaHandler);\n // These two dom nodes must be constructed up front, since references are needed in the layout provider (scrolling & co.)\n this._linesContent = createFastDomNode(document.createElement('div'));\n this._linesContent.setClassName('lines-content' + ' monaco-editor-background');\n this._linesContent.setPosition('absolute');\n this.domNode = createFastDomNode(document.createElement('div'));\n this.domNode.setClassName(this._getEditorClassName());\n // Set role 'code' for better screen reader support https://github.com/microsoft/vscode/issues/93438\n this.domNode.setAttribute('role', 'code');\n this._overflowGuardContainer = createFastDomNode(document.createElement('div'));\n PartFingerprints.write(this._overflowGuardContainer, 3 /* PartFingerprint.OverflowGuard */);\n this._overflowGuardContainer.setClassName('overflow-guard');\n this._scrollbar = new EditorScrollbar(this._context, this._linesContent, this.domNode, this._overflowGuardContainer);\n this._viewParts.push(this._scrollbar);\n // View Lines\n this._viewLines = new ViewLines(this._context, this._linesContent);\n // View Zones\n this._viewZones = new ViewZones(this._context);\n this._viewParts.push(this._viewZones);\n // Decorations overview ruler\n const decorationsOverviewRuler = new DecorationsOverviewRuler(this._context);\n this._viewParts.push(decorationsOverviewRuler);\n const scrollDecoration = new ScrollDecorationViewPart(this._context);\n this._viewParts.push(scrollDecoration);\n const contentViewOverlays = new ContentViewOverlays(this._context);\n this._viewParts.push(contentViewOverlays);\n contentViewOverlays.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context));\n contentViewOverlays.addDynamicOverlay(new SelectionsOverlay(this._context));\n contentViewOverlays.addDynamicOverlay(new IndentGuidesOverlay(this._context));\n contentViewOverlays.addDynamicOverlay(new DecorationsOverlay(this._context));\n contentViewOverlays.addDynamicOverlay(new WhitespaceOverlay(this._context));\n const marginViewOverlays = new MarginViewOverlays(this._context);\n this._viewParts.push(marginViewOverlays);\n marginViewOverlays.addDynamicOverlay(new CurrentLineMarginHighlightOverlay(this._context));\n marginViewOverlays.addDynamicOverlay(new MarginViewLineDecorationsOverlay(this._context));\n marginViewOverlays.addDynamicOverlay(new LinesDecorationsOverlay(this._context));\n marginViewOverlays.addDynamicOverlay(new LineNumbersOverlay(this._context));\n // Glyph margin widgets\n this._glyphMarginWidgets = new GlyphMarginWidgets(this._context);\n this._viewParts.push(this._glyphMarginWidgets);\n const margin = new Margin(this._context);\n margin.getDomNode().appendChild(this._viewZones.marginDomNode);\n margin.getDomNode().appendChild(marginViewOverlays.getDomNode());\n margin.getDomNode().appendChild(this._glyphMarginWidgets.domNode);\n this._viewParts.push(margin);\n // Content widgets\n this._contentWidgets = new ViewContentWidgets(this._context, this.domNode);\n this._viewParts.push(this._contentWidgets);\n this._viewCursors = new ViewCursors(this._context);\n this._viewParts.push(this._viewCursors);\n // Overlay widgets\n this._overlayWidgets = new ViewOverlayWidgets(this._context, this.domNode);\n this._viewParts.push(this._overlayWidgets);\n const rulers = new Rulers(this._context);\n this._viewParts.push(rulers);\n const blockOutline = new BlockDecorations(this._context);\n this._viewParts.push(blockOutline);\n const minimap = new Minimap(this._context);\n this._viewParts.push(minimap);\n // -------------- Wire dom nodes up\n if (decorationsOverviewRuler) {\n const overviewRulerData = this._scrollbar.getOverviewRulerLayoutInfo();\n overviewRulerData.parent.insertBefore(decorationsOverviewRuler.getDomNode(), overviewRulerData.insertBefore);\n }\n this._linesContent.appendChild(contentViewOverlays.getDomNode());\n this._linesContent.appendChild(rulers.domNode);\n this._linesContent.appendChild(this._viewZones.domNode);\n this._linesContent.appendChild(this._viewLines.getDomNode());\n this._linesContent.appendChild(this._contentWidgets.domNode);\n this._linesContent.appendChild(this._viewCursors.getDomNode());\n this._overflowGuardContainer.appendChild(margin.getDomNode());\n this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode());\n this._overflowGuardContainer.appendChild(scrollDecoration.getDomNode());\n this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea);\n this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover);\n this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode());\n this._overflowGuardContainer.appendChild(minimap.getDomNode());\n this._overflowGuardContainer.appendChild(blockOutline.domNode);\n this.domNode.appendChild(this._overflowGuardContainer);\n if (overflowWidgetsDomNode) {\n overflowWidgetsDomNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode);\n overflowWidgetsDomNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode);\n }\n else {\n this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode);\n this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode);\n }\n this._applyLayout();\n // Pointer handler\n this._pointerHandler = this._register(new PointerHandler(this._context, viewController, this._createPointerHandlerHelper()));\n }\n _computeGlyphMarginLanes() {\n const model = this._context.viewModel.model;\n const laneModel = this._context.viewModel.glyphLanes;\n let glyphs = [];\n let maxLineNumber = 0;\n // Add all margin decorations\n glyphs = glyphs.concat(model.getAllMarginDecorations().map((decoration) => {\n var _a, _b, _c;\n const lane = (_b = (_a = decoration.options.glyphMargin) === null || _a === void 0 ? void 0 : _a.position) !== null && _b !== void 0 ? _b : GlyphMarginLane.Center;\n maxLineNumber = Math.max(maxLineNumber, decoration.range.endLineNumber);\n return { range: decoration.range, lane, persist: (_c = decoration.options.glyphMargin) === null || _c === void 0 ? void 0 : _c.persistLane };\n }));\n // Add all glyph margin widgets\n glyphs = glyphs.concat(this._glyphMarginWidgets.getWidgets().map((widget) => {\n const range = model.validateRange(widget.preference.range);\n maxLineNumber = Math.max(maxLineNumber, range.endLineNumber);\n return { range, lane: widget.preference.lane };\n }));\n // Sorted by their start position\n glyphs.sort((a, b) => Range.compareRangesUsingStarts(a.range, b.range));\n laneModel.reset(maxLineNumber);\n for (const glyph of glyphs) {\n laneModel.push(glyph.lane, glyph.range, glyph.persist);\n }\n return laneModel;\n }\n _createPointerHandlerHelper() {\n return {\n viewDomNode: this.domNode.domNode,\n linesContentDomNode: this._linesContent.domNode,\n viewLinesDomNode: this._viewLines.getDomNode().domNode,\n focusTextArea: () => {\n this.focus();\n },\n dispatchTextAreaEvent: (event) => {\n this._textAreaHandler.textArea.domNode.dispatchEvent(event);\n },\n getLastRenderData: () => {\n const lastViewCursorsRenderData = this._viewCursors.getLastRenderData() || [];\n const lastTextareaPosition = this._textAreaHandler.getLastRenderData();\n return new PointerHandlerLastRenderData(lastViewCursorsRenderData, lastTextareaPosition);\n },\n renderNow: () => {\n this.render(true, false);\n },\n shouldSuppressMouseDownOnViewZone: (viewZoneId) => {\n return this._viewZones.shouldSuppressMouseDownOnViewZone(viewZoneId);\n },\n shouldSuppressMouseDownOnWidget: (widgetId) => {\n return this._contentWidgets.shouldSuppressMouseDownOnWidget(widgetId);\n },\n getPositionFromDOMInfo: (spanNode, offset) => {\n this._flushAccumulatedAndRenderNow();\n return this._viewLines.getPositionFromDOMInfo(spanNode, offset);\n },\n visibleRangeForPosition: (lineNumber, column) => {\n this._flushAccumulatedAndRenderNow();\n return this._viewLines.visibleRangeForPosition(new Position(lineNumber, column));\n },\n getLineWidth: (lineNumber) => {\n this._flushAccumulatedAndRenderNow();\n return this._viewLines.getLineWidth(lineNumber);\n }\n };\n }\n _createTextAreaHandlerHelper() {\n return {\n visibleRangeForPosition: (position) => {\n this._flushAccumulatedAndRenderNow();\n return this._viewLines.visibleRangeForPosition(position);\n }\n };\n }\n _applyLayout() {\n const options = this._context.configuration.options;\n const layoutInfo = options.get(145 /* EditorOption.layoutInfo */);\n this.domNode.setWidth(layoutInfo.width);\n this.domNode.setHeight(layoutInfo.height);\n this._overflowGuardContainer.setWidth(layoutInfo.width);\n this._overflowGuardContainer.setHeight(layoutInfo.height);\n // https://stackoverflow.com/questions/38905916/content-in-google-chrome-larger-than-16777216-px-not-being-rendered\n this._linesContent.setWidth(16777216);\n this._linesContent.setHeight(16777216);\n }\n _getEditorClassName() {\n const focused = this._textAreaHandler.isFocused() ? ' focused' : '';\n return this._context.configuration.options.get(142 /* EditorOption.editorClassName */) + ' ' + getThemeTypeSelector(this._context.theme.type) + focused;\n }\n // --- begin event handlers\n handleEvents(events) {\n super.handleEvents(events);\n this._scheduleRender();\n }\n onConfigurationChanged(e) {\n this.domNode.setClassName(this._getEditorClassName());\n this._applyLayout();\n return false;\n }\n onCursorStateChanged(e) {\n this._selections = e.selections;\n return false;\n }\n onDecorationsChanged(e) {\n if (e.affectsGlyphMargin) {\n this._shouldRecomputeGlyphMarginLanes = true;\n }\n return false;\n }\n onFocusChanged(e) {\n this.domNode.setClassName(this._getEditorClassName());\n return false;\n }\n onThemeChanged(e) {\n this._context.theme.update(e.theme);\n this.domNode.setClassName(this._getEditorClassName());\n return false;\n }\n // --- end event handlers\n dispose() {\n if (this._renderAnimationFrame !== null) {\n this._renderAnimationFrame.dispose();\n this._renderAnimationFrame = null;\n }\n this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove();\n this._context.removeEventHandler(this);\n this._viewLines.dispose();\n // Destroy view parts\n for (const viewPart of this._viewParts) {\n viewPart.dispose();\n }\n super.dispose();\n }\n _scheduleRender() {\n if (this._store.isDisposed) {\n throw new BugIndicatingError();\n }\n if (this._renderAnimationFrame === null) {\n const rendering = this._createCoordinatedRendering();\n this._renderAnimationFrame = EditorRenderingCoordinator.INSTANCE.scheduleCoordinatedRendering({\n window: dom.getWindow(this.domNode.domNode),\n prepareRenderText: () => {\n if (this._store.isDisposed) {\n throw new BugIndicatingError();\n }\n try {\n return rendering.prepareRenderText();\n }\n finally {\n this._renderAnimationFrame = null;\n }\n },\n renderText: () => {\n if (this._store.isDisposed) {\n throw new BugIndicatingError();\n }\n return rendering.renderText();\n },\n prepareRender: (viewParts, ctx) => {\n if (this._store.isDisposed) {\n throw new BugIndicatingError();\n }\n return rendering.prepareRender(viewParts, ctx);\n },\n render: (viewParts, ctx) => {\n if (this._store.isDisposed) {\n throw new BugIndicatingError();\n }\n return rendering.render(viewParts, ctx);\n }\n });\n }\n }\n _flushAccumulatedAndRenderNow() {\n const rendering = this._createCoordinatedRendering();\n safeInvokeNoArg(() => rendering.prepareRenderText());\n const data = safeInvokeNoArg(() => rendering.renderText());\n if (data) {\n const [viewParts, ctx] = data;\n safeInvokeNoArg(() => rendering.prepareRender(viewParts, ctx));\n safeInvokeNoArg(() => rendering.render(viewParts, ctx));\n }\n }\n _getViewPartsToRender() {\n const result = [];\n let resultLen = 0;\n for (const viewPart of this._viewParts) {\n if (viewPart.shouldRender()) {\n result[resultLen++] = viewPart;\n }\n }\n return result;\n }\n _createCoordinatedRendering() {\n return {\n prepareRenderText: () => {\n if (this._shouldRecomputeGlyphMarginLanes) {\n this._shouldRecomputeGlyphMarginLanes = false;\n const model = this._computeGlyphMarginLanes();\n this._context.configuration.setGlyphMarginDecorationLaneCount(model.requiredLanes);\n }\n inputLatency.onRenderStart();\n },\n renderText: () => {\n if (!this.domNode.domNode.isConnected) {\n return null;\n }\n let viewPartsToRender = this._getViewPartsToRender();\n if (!this._viewLines.shouldRender() && viewPartsToRender.length === 0) {\n // Nothing to render\n return null;\n }\n const partialViewportData = this._context.viewLayout.getLinesViewportData();\n this._context.viewModel.setViewport(partialViewportData.startLineNumber, partialViewportData.endLineNumber, partialViewportData.centeredLineNumber);\n const viewportData = new ViewportData(this._selections, partialViewportData, this._context.viewLayout.getWhitespaceViewportData(), this._context.viewModel);\n if (this._contentWidgets.shouldRender()) {\n // Give the content widgets a chance to set their max width before a possible synchronous layout\n this._contentWidgets.onBeforeRender(viewportData);\n }\n if (this._viewLines.shouldRender()) {\n this._viewLines.renderText(viewportData);\n this._viewLines.onDidRender();\n // Rendering of viewLines might cause scroll events to occur, so collect view parts to render again\n viewPartsToRender = this._getViewPartsToRender();\n }\n return [viewPartsToRender, new RenderingContext(this._context.viewLayout, viewportData, this._viewLines)];\n },\n prepareRender: (viewPartsToRender, ctx) => {\n for (const viewPart of viewPartsToRender) {\n viewPart.prepareRender(ctx);\n }\n },\n render: (viewPartsToRender, ctx) => {\n for (const viewPart of viewPartsToRender) {\n viewPart.render(ctx);\n viewPart.onDidRender();\n }\n }\n };\n }\n // --- BEGIN CodeEditor helpers\n delegateVerticalScrollbarPointerDown(browserEvent) {\n this._scrollbar.delegateVerticalScrollbarPointerDown(browserEvent);\n }\n delegateScrollFromMouseWheelEvent(browserEvent) {\n this._scrollbar.delegateScrollFromMouseWheelEvent(browserEvent);\n }\n restoreState(scrollPosition) {\n this._context.viewModel.viewLayout.setScrollPosition({\n scrollTop: scrollPosition.scrollTop,\n scrollLeft: scrollPosition.scrollLeft\n }, 1 /* ScrollType.Immediate */);\n this._context.viewModel.visibleLinesStabilized();\n }\n getOffsetForColumn(modelLineNumber, modelColumn) {\n const modelPosition = this._context.viewModel.model.validatePosition({\n lineNumber: modelLineNumber,\n column: modelColumn\n });\n const viewPosition = this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);\n this._flushAccumulatedAndRenderNow();\n const visibleRange = this._viewLines.visibleRangeForPosition(new Position(viewPosition.lineNumber, viewPosition.column));\n if (!visibleRange) {\n return -1;\n }\n return visibleRange.left;\n }\n getTargetAtClientPoint(clientX, clientY) {\n const mouseTarget = this._pointerHandler.getTargetAtClientPoint(clientX, clientY);\n if (!mouseTarget) {\n return null;\n }\n return ViewUserInputEvents.convertViewToModelMouseTarget(mouseTarget, this._context.viewModel.coordinatesConverter);\n }\n createOverviewRuler(cssClassName) {\n return new OverviewRuler(this._context, cssClassName);\n }\n change(callback) {\n this._viewZones.changeViewZones(callback);\n this._scheduleRender();\n }\n render(now, everything) {\n if (everything) {\n // Force everything to render...\n this._viewLines.forceShouldRender();\n for (const viewPart of this._viewParts) {\n viewPart.forceShouldRender();\n }\n }\n if (now) {\n this._flushAccumulatedAndRenderNow();\n }\n else {\n this._scheduleRender();\n }\n }\n writeScreenReaderContent(reason) {\n this._textAreaHandler.writeScreenReaderContent(reason);\n }\n focus() {\n this._textAreaHandler.focusTextArea();\n }\n isFocused() {\n return this._textAreaHandler.isFocused();\n }\n setAriaOptions(options) {\n this._textAreaHandler.setAriaOptions(options);\n }\n addContentWidget(widgetData) {\n this._contentWidgets.addWidget(widgetData.widget);\n this.layoutContentWidget(widgetData);\n this._scheduleRender();\n }\n layoutContentWidget(widgetData) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n this._contentWidgets.setWidgetPosition(widgetData.widget, (_b = (_a = widgetData.position) === null || _a === void 0 ? void 0 : _a.position) !== null && _b !== void 0 ? _b : null, (_d = (_c = widgetData.position) === null || _c === void 0 ? void 0 : _c.secondaryPosition) !== null && _d !== void 0 ? _d : null, (_f = (_e = widgetData.position) === null || _e === void 0 ? void 0 : _e.preference) !== null && _f !== void 0 ? _f : null, (_h = (_g = widgetData.position) === null || _g === void 0 ? void 0 : _g.positionAffinity) !== null && _h !== void 0 ? _h : null);\n this._scheduleRender();\n }\n removeContentWidget(widgetData) {\n this._contentWidgets.removeWidget(widgetData.widget);\n this._scheduleRender();\n }\n addOverlayWidget(widgetData) {\n this._overlayWidgets.addWidget(widgetData.widget);\n this.layoutOverlayWidget(widgetData);\n this._scheduleRender();\n }\n layoutOverlayWidget(widgetData) {\n const shouldRender = this._overlayWidgets.setWidgetPosition(widgetData.widget, widgetData.position);\n if (shouldRender) {\n this._scheduleRender();\n }\n }\n removeOverlayWidget(widgetData) {\n this._overlayWidgets.removeWidget(widgetData.widget);\n this._scheduleRender();\n }\n addGlyphMarginWidget(widgetData) {\n this._glyphMarginWidgets.addWidget(widgetData.widget);\n this._shouldRecomputeGlyphMarginLanes = true;\n this._scheduleRender();\n }\n layoutGlyphMarginWidget(widgetData) {\n const newPreference = widgetData.position;\n const shouldRender = this._glyphMarginWidgets.setWidgetPosition(widgetData.widget, newPreference);\n if (shouldRender) {\n this._shouldRecomputeGlyphMarginLanes = true;\n this._scheduleRender();\n }\n }\n removeGlyphMarginWidget(widgetData) {\n this._glyphMarginWidgets.removeWidget(widgetData.widget);\n this._shouldRecomputeGlyphMarginLanes = true;\n this._scheduleRender();\n }\n};\nView = __decorate([\n __param(6, IInstantiationService)\n], View);\nexport { View };\nfunction safeInvokeNoArg(func) {\n try {\n return func();\n }\n catch (e) {\n onUnexpectedError(e);\n return null;\n }\n}\nclass EditorRenderingCoordinator {\n constructor() {\n this._coordinatedRenderings = [];\n this._animationFrameRunners = new Map();\n }\n scheduleCoordinatedRendering(rendering) {\n this._coordinatedRenderings.push(rendering);\n this._scheduleRender(rendering.window);\n return {\n dispose: () => {\n const renderingIndex = this._coordinatedRenderings.indexOf(rendering);\n if (renderingIndex === -1) {\n return;\n }\n this._coordinatedRenderings.splice(renderingIndex, 1);\n if (this._coordinatedRenderings.length === 0) {\n // There are no more renderings to coordinate => cancel animation frames\n for (const [_, disposable] of this._animationFrameRunners) {\n disposable.dispose();\n }\n this._animationFrameRunners.clear();\n }\n }\n };\n }\n _scheduleRender(window) {\n if (!this._animationFrameRunners.has(window)) {\n const runner = () => {\n this._animationFrameRunners.delete(window);\n this._onRenderScheduled();\n };\n this._animationFrameRunners.set(window, dom.runAtThisOrScheduleAtNextAnimationFrame(window, runner, 100));\n }\n }\n _onRenderScheduled() {\n const coordinatedRenderings = this._coordinatedRenderings.slice(0);\n this._coordinatedRenderings = [];\n for (const rendering of coordinatedRenderings) {\n safeInvokeNoArg(() => rendering.prepareRenderText());\n }\n const datas = [];\n for (let i = 0, len = coordinatedRenderings.length; i < len; i++) {\n const rendering = coordinatedRenderings[i];\n datas[i] = safeInvokeNoArg(() => rendering.renderText());\n }\n for (let i = 0, len = coordinatedRenderings.length; i < len; i++) {\n const rendering = coordinatedRenderings[i];\n const data = datas[i];\n if (!data) {\n continue;\n }\n const [viewParts, ctx] = data;\n safeInvokeNoArg(() => rendering.prepareRender(viewParts, ctx));\n }\n for (let i = 0, len = coordinatedRenderings.length; i < len; i++) {\n const rendering = coordinatedRenderings[i];\n const data = datas[i];\n if (!data) {\n continue;\n }\n const [viewParts, ctx] = data;\n safeInvokeNoArg(() => rendering.render(viewParts, ctx));\n }\n }\n}\nEditorRenderingCoordinator.INSTANCE = new EditorRenderingCoordinator();\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","View","constructor","commandDelegate","configuration","colorTheme","model","userInputEvents","overflowWidgetsDomNode","_instantiationService","super","this","_shouldRecomputeGlyphMarginLanes","_selections","_renderAnimationFrame","viewController","_context","addEventHandler","_viewParts","_textAreaHandler","createInstance","_createTextAreaHandlerHelper","push","_linesContent","document","createElement","setClassName","setPosition","domNode","_getEditorClassName","setAttribute","_overflowGuardContainer","_scrollbar","E","_viewLines","_viewZones","decorationsOverviewRuler","scrollDecoration","contentViewOverlays","addDynamicOverlay","marginViewOverlays","_glyphMarginWidgets","margin","getDomNode","appendChild","marginDomNode","_contentWidgets","_viewCursors","_overlayWidgets","rulers","blockOutline","minimap","overviewRulerData","getOverviewRulerLayoutInfo","parent","insertBefore","textArea","textAreaCover","overflowingContentWidgetsDomNode","overflowingOverlayWidgetsDomNode","_applyLayout","_pointerHandler","_register","_createPointerHandlerHelper","_computeGlyphMarginLanes","viewModel","laneModel","glyphLanes","glyphs","maxLineNumber","concat","getAllMarginDecorations","map","decoration","_a","_b","_c","lane","options","glyphMargin","position","Math","max","range","endLineNumber","persist","persistLane","getWidgets","widget","validateRange","preference","sort","a","b","reset","glyph","viewDomNode","linesContentDomNode","viewLinesDomNode","focusTextArea","focus","dispatchTextAreaEvent","event","dispatchEvent","getLastRenderData","lastViewCursorsRenderData","lastTextareaPosition","renderNow","render","shouldSuppressMouseDownOnViewZone","viewZoneId","shouldSuppressMouseDownOnWidget","widgetId","getPositionFromDOMInfo","spanNode","offset","_flushAccumulatedAndRenderNow","visibleRangeForPosition","lineNumber","column","getLineWidth","layoutInfo","get","setWidth","width","setHeight","height","focused","isFocused","theme","type","handleEvents","events","_scheduleRender","onConfigurationChanged","e","onCursorStateChanged","selections","onDecorationsChanged","affectsGlyphMargin","onFocusChanged","onThemeChanged","update","dispose","remove","removeEventHandler","viewPart","_store","isDisposed","rendering","_createCoordinatedRendering","EditorRenderingCoordinator","INSTANCE","scheduleCoordinatedRendering","window","prepareRenderText","renderText","prepareRender","viewParts","ctx","safeInvokeNoArg","data","_getViewPartsToRender","result","resultLen","shouldRender","setGlyphMarginDecorationLaneCount","requiredLanes","isConnected","viewPartsToRender","partialViewportData","viewLayout","getLinesViewportData","setViewport","startLineNumber","centeredLineNumber","viewportData","getWhitespaceViewportData","onBeforeRender","onDidRender","delegateVerticalScrollbarPointerDown","browserEvent","delegateScrollFromMouseWheelEvent","restoreState","scrollPosition","setScrollPosition","scrollTop","scrollLeft","visibleLinesStabilized","getOffsetForColumn","modelLineNumber","modelColumn","modelPosition","validatePosition","viewPosition","coordinatesConverter","convertModelPositionToViewPosition","visibleRange","left","getTargetAtClientPoint","clientX","clientY","mouseTarget","createOverviewRuler","cssClassName","change","callback","changeViewZones","now","everything","forceShouldRender","writeScreenReaderContent","reason","setAriaOptions","addContentWidget","widgetData","addWidget","layoutContentWidget","_d","_e","_f","_g","_h","setWidgetPosition","secondaryPosition","positionAffinity","removeContentWidget","removeWidget","addOverlayWidget","layoutOverlayWidget","removeOverlayWidget","addGlyphMarginWidget","layoutGlyphMarginWidget","newPreference","removeGlyphMarginWidget","func","_coordinatedRenderings","_animationFrameRunners","Map","renderingIndex","indexOf","splice","_","disposable","clear","has","runner","delete","_onRenderScheduled","set","coordinatedRenderings","slice","datas","len"],"sourceRoot":""}