{"version":3,"file":"static/js/1877_84425b21caa6c026f1db.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/renderingContext.js","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/viewController.js","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/viewLayer.js","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/viewOverlays.js","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/viewPart.js","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/viewUserInputEvents.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 *--------------------------------------------------------------------------------------------*/\nexport class RestrictedRenderingContext {\n constructor(viewLayout, viewportData) {\n this._restrictedRenderingContextBrand = undefined;\n this._viewLayout = viewLayout;\n this.viewportData = viewportData;\n this.scrollWidth = this._viewLayout.getScrollWidth();\n this.scrollHeight = this._viewLayout.getScrollHeight();\n this.visibleRange = this.viewportData.visibleRange;\n this.bigNumbersDelta = this.viewportData.bigNumbersDelta;\n const vInfo = this._viewLayout.getCurrentViewport();\n this.scrollTop = vInfo.top;\n this.scrollLeft = vInfo.left;\n this.viewportWidth = vInfo.width;\n this.viewportHeight = vInfo.height;\n }\n getScrolledTopFromAbsoluteTop(absoluteTop) {\n return absoluteTop - this.scrollTop;\n }\n getVerticalOffsetForLineNumber(lineNumber, includeViewZones) {\n return this._viewLayout.getVerticalOffsetForLineNumber(lineNumber, includeViewZones);\n }\n getVerticalOffsetAfterLineNumber(lineNumber, includeViewZones) {\n return this._viewLayout.getVerticalOffsetAfterLineNumber(lineNumber, includeViewZones);\n }\n getDecorationsInViewport() {\n return this.viewportData.getDecorationsInViewport();\n }\n}\nexport class RenderingContext extends RestrictedRenderingContext {\n constructor(viewLayout, viewportData, viewLines) {\n super(viewLayout, viewportData);\n this._renderingContextBrand = undefined;\n this._viewLines = viewLines;\n }\n linesVisibleRangesForRange(range, includeNewLines) {\n return this._viewLines.linesVisibleRangesForRange(range, includeNewLines);\n }\n visibleRangeForPosition(position) {\n return this._viewLines.visibleRangeForPosition(position);\n }\n}\nexport class LineVisibleRanges {\n constructor(outsideRenderedLine, lineNumber, ranges, \n /**\n * Indicates if the requested range does not end in this line, but continues on the next line.\n */\n continuesOnNextLine) {\n this.outsideRenderedLine = outsideRenderedLine;\n this.lineNumber = lineNumber;\n this.ranges = ranges;\n this.continuesOnNextLine = continuesOnNextLine;\n }\n}\nexport class HorizontalRange {\n static from(ranges) {\n const result = new Array(ranges.length);\n for (let i = 0, len = ranges.length; i < len; i++) {\n const range = ranges[i];\n result[i] = new HorizontalRange(range.left, range.width);\n }\n return result;\n }\n constructor(left, width) {\n this._horizontalRangeBrand = undefined;\n this.left = Math.round(left);\n this.width = Math.round(width);\n }\n toString() {\n return `[${this.left},${this.width}]`;\n }\n}\nexport class FloatHorizontalRange {\n constructor(left, width) {\n this._floatHorizontalRangeBrand = undefined;\n this.left = left;\n this.width = width;\n }\n toString() {\n return `[${this.left},${this.width}]`;\n }\n static compare(a, b) {\n return a.left - b.left;\n }\n}\nexport class HorizontalPosition {\n constructor(outsideRenderedLine, left) {\n this.outsideRenderedLine = outsideRenderedLine;\n this.originalLeft = left;\n this.left = Math.round(this.originalLeft);\n }\n}\nexport class VisibleRanges {\n constructor(outsideRenderedLine, ranges) {\n this.outsideRenderedLine = outsideRenderedLine;\n this.ranges = ranges;\n }\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 *--------------------------------------------------------------------------------------------*/\nimport { CoreNavigationCommands } from '../coreCommands.js';\nimport { Position } from '../../common/core/position.js';\nimport * as platform from '../../../base/common/platform.js';\nexport class ViewController {\n constructor(configuration, viewModel, userInputEvents, commandDelegate) {\n this.configuration = configuration;\n this.viewModel = viewModel;\n this.userInputEvents = userInputEvents;\n this.commandDelegate = commandDelegate;\n }\n paste(text, pasteOnNewLine, multicursorText, mode) {\n this.commandDelegate.paste(text, pasteOnNewLine, multicursorText, mode);\n }\n type(text) {\n this.commandDelegate.type(text);\n }\n compositionType(text, replacePrevCharCnt, replaceNextCharCnt, positionDelta) {\n this.commandDelegate.compositionType(text, replacePrevCharCnt, replaceNextCharCnt, positionDelta);\n }\n compositionStart() {\n this.commandDelegate.startComposition();\n }\n compositionEnd() {\n this.commandDelegate.endComposition();\n }\n cut() {\n this.commandDelegate.cut();\n }\n setSelection(modelSelection) {\n CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel, {\n source: 'keyboard',\n selection: modelSelection\n });\n }\n _validateViewColumn(viewPosition) {\n const minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);\n if (viewPosition.column < minColumn) {\n return new Position(viewPosition.lineNumber, minColumn);\n }\n return viewPosition;\n }\n _hasMulticursorModifier(data) {\n switch (this.configuration.options.get(78 /* EditorOption.multiCursorModifier */)) {\n case 'altKey':\n return data.altKey;\n case 'ctrlKey':\n return data.ctrlKey;\n case 'metaKey':\n return data.metaKey;\n default:\n return false;\n }\n }\n _hasNonMulticursorModifier(data) {\n switch (this.configuration.options.get(78 /* EditorOption.multiCursorModifier */)) {\n case 'altKey':\n return data.ctrlKey || data.metaKey;\n case 'ctrlKey':\n return data.altKey || data.metaKey;\n case 'metaKey':\n return data.ctrlKey || data.altKey;\n default:\n return false;\n }\n }\n dispatchMouse(data) {\n const options = this.configuration.options;\n const selectionClipboardIsOn = (platform.isLinux && options.get(107 /* EditorOption.selectionClipboard */));\n const columnSelection = options.get(22 /* EditorOption.columnSelection */);\n if (data.middleButton && !selectionClipboardIsOn) {\n this._columnSelect(data.position, data.mouseColumn, data.inSelectionMode);\n }\n else if (data.startedOnLineNumbers) {\n // If the dragging started on the gutter, then have operations work on the entire line\n if (this._hasMulticursorModifier(data)) {\n if (data.inSelectionMode) {\n this._lastCursorLineSelect(data.position, data.revealType);\n }\n else {\n this._createCursor(data.position, true);\n }\n }\n else {\n if (data.inSelectionMode) {\n this._lineSelectDrag(data.position, data.revealType);\n }\n else {\n this._lineSelect(data.position, data.revealType);\n }\n }\n }\n else if (data.mouseDownCount >= 4) {\n this._selectAll();\n }\n else if (data.mouseDownCount === 3) {\n if (this._hasMulticursorModifier(data)) {\n if (data.inSelectionMode) {\n this._lastCursorLineSelectDrag(data.position, data.revealType);\n }\n else {\n this._lastCursorLineSelect(data.position, data.revealType);\n }\n }\n else {\n if (data.inSelectionMode) {\n this._lineSelectDrag(data.position, data.revealType);\n }\n else {\n this._lineSelect(data.position, data.revealType);\n }\n }\n }\n else if (data.mouseDownCount === 2) {\n if (!data.onInjectedText) {\n if (this._hasMulticursorModifier(data)) {\n this._lastCursorWordSelect(data.position, data.revealType);\n }\n else {\n if (data.inSelectionMode) {\n this._wordSelectDrag(data.position, data.revealType);\n }\n else {\n this._wordSelect(data.position, data.revealType);\n }\n }\n }\n }\n else {\n if (this._hasMulticursorModifier(data)) {\n if (!this._hasNonMulticursorModifier(data)) {\n if (data.shiftKey) {\n this._columnSelect(data.position, data.mouseColumn, true);\n }\n else {\n // Do multi-cursor operations only when purely alt is pressed\n if (data.inSelectionMode) {\n this._lastCursorMoveToSelect(data.position, data.revealType);\n }\n else {\n this._createCursor(data.position, false);\n }\n }\n }\n }\n else {\n if (data.inSelectionMode) {\n if (data.altKey) {\n this._columnSelect(data.position, data.mouseColumn, true);\n }\n else {\n if (columnSelection) {\n this._columnSelect(data.position, data.mouseColumn, true);\n }\n else {\n this._moveToSelect(data.position, data.revealType);\n }\n }\n }\n else {\n this.moveTo(data.position, data.revealType);\n }\n }\n }\n }\n _usualArgs(viewPosition, revealType) {\n viewPosition = this._validateViewColumn(viewPosition);\n return {\n source: 'mouse',\n position: this._convertViewToModelPosition(viewPosition),\n viewPosition,\n revealType\n };\n }\n moveTo(viewPosition, revealType) {\n CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _moveToSelect(viewPosition, revealType) {\n CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _columnSelect(viewPosition, mouseColumn, doColumnSelect) {\n viewPosition = this._validateViewColumn(viewPosition);\n CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel, {\n source: 'mouse',\n position: this._convertViewToModelPosition(viewPosition),\n viewPosition: viewPosition,\n mouseColumn: mouseColumn,\n doColumnSelect: doColumnSelect\n });\n }\n _createCursor(viewPosition, wholeLine) {\n viewPosition = this._validateViewColumn(viewPosition);\n CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel, {\n source: 'mouse',\n position: this._convertViewToModelPosition(viewPosition),\n viewPosition: viewPosition,\n wholeLine: wholeLine\n });\n }\n _lastCursorMoveToSelect(viewPosition, revealType) {\n CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _wordSelect(viewPosition, revealType) {\n CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _wordSelectDrag(viewPosition, revealType) {\n CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _lastCursorWordSelect(viewPosition, revealType) {\n CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _lineSelect(viewPosition, revealType) {\n CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _lineSelectDrag(viewPosition, revealType) {\n CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _lastCursorLineSelect(viewPosition, revealType) {\n CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _lastCursorLineSelectDrag(viewPosition, revealType) {\n CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel, this._usualArgs(viewPosition, revealType));\n }\n _selectAll() {\n CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel, { source: 'mouse' });\n }\n // ----------------------\n _convertViewToModelPosition(viewPosition) {\n return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(viewPosition);\n }\n emitKeyDown(e) {\n this.userInputEvents.emitKeyDown(e);\n }\n emitKeyUp(e) {\n this.userInputEvents.emitKeyUp(e);\n }\n emitContextMenu(e) {\n this.userInputEvents.emitContextMenu(e);\n }\n emitMouseMove(e) {\n this.userInputEvents.emitMouseMove(e);\n }\n emitMouseLeave(e) {\n this.userInputEvents.emitMouseLeave(e);\n }\n emitMouseUp(e) {\n this.userInputEvents.emitMouseUp(e);\n }\n emitMouseDown(e) {\n this.userInputEvents.emitMouseDown(e);\n }\n emitMouseDrag(e) {\n this.userInputEvents.emitMouseDrag(e);\n }\n emitMouseDrop(e) {\n this.userInputEvents.emitMouseDrop(e);\n }\n emitMouseDropCanceled() {\n this.userInputEvents.emitMouseDropCanceled();\n }\n emitMouseWheel(e) {\n this.userInputEvents.emitMouseWheel(e);\n }\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 *--------------------------------------------------------------------------------------------*/\nimport { createFastDomNode } from '../../../base/browser/fastDomNode.js';\nimport { createTrustedTypesPolicy } from '../../../base/browser/trustedTypes.js';\nimport { BugIndicatingError } from '../../../base/common/errors.js';\nimport { StringBuilder } from '../../common/core/stringBuilder.js';\nexport class RenderedLinesCollection {\n constructor(createLine) {\n this._createLine = createLine;\n this._set(1, []);\n }\n flush() {\n this._set(1, []);\n }\n _set(rendLineNumberStart, lines) {\n this._lines = lines;\n this._rendLineNumberStart = rendLineNumberStart;\n }\n _get() {\n return {\n rendLineNumberStart: this._rendLineNumberStart,\n lines: this._lines\n };\n }\n /**\n * @returns Inclusive line number that is inside this collection\n */\n getStartLineNumber() {\n return this._rendLineNumberStart;\n }\n /**\n * @returns Inclusive line number that is inside this collection\n */\n getEndLineNumber() {\n return this._rendLineNumberStart + this._lines.length - 1;\n }\n getCount() {\n return this._lines.length;\n }\n getLine(lineNumber) {\n const lineIndex = lineNumber - this._rendLineNumberStart;\n if (lineIndex < 0 || lineIndex >= this._lines.length) {\n throw new BugIndicatingError('Illegal value for lineNumber');\n }\n return this._lines[lineIndex];\n }\n /**\n * @returns Lines that were removed from this collection\n */\n onLinesDeleted(deleteFromLineNumber, deleteToLineNumber) {\n if (this.getCount() === 0) {\n // no lines\n return null;\n }\n const startLineNumber = this.getStartLineNumber();\n const endLineNumber = this.getEndLineNumber();\n if (deleteToLineNumber < startLineNumber) {\n // deleting above the viewport\n const deleteCnt = deleteToLineNumber - deleteFromLineNumber + 1;\n this._rendLineNumberStart -= deleteCnt;\n return null;\n }\n if (deleteFromLineNumber > endLineNumber) {\n // deleted below the viewport\n return null;\n }\n // Record what needs to be deleted\n let deleteStartIndex = 0;\n let deleteCount = 0;\n for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) {\n const lineIndex = lineNumber - this._rendLineNumberStart;\n if (deleteFromLineNumber <= lineNumber && lineNumber <= deleteToLineNumber) {\n // this is a line to be deleted\n if (deleteCount === 0) {\n // this is the first line to be deleted\n deleteStartIndex = lineIndex;\n deleteCount = 1;\n }\n else {\n deleteCount++;\n }\n }\n }\n // Adjust this._rendLineNumberStart for lines deleted above\n if (deleteFromLineNumber < startLineNumber) {\n // Something was deleted above\n let deleteAboveCount = 0;\n if (deleteToLineNumber < startLineNumber) {\n // the entire deleted lines are above\n deleteAboveCount = deleteToLineNumber - deleteFromLineNumber + 1;\n }\n else {\n deleteAboveCount = startLineNumber - deleteFromLineNumber;\n }\n this._rendLineNumberStart -= deleteAboveCount;\n }\n const deleted = this._lines.splice(deleteStartIndex, deleteCount);\n return deleted;\n }\n onLinesChanged(changeFromLineNumber, changeCount) {\n const changeToLineNumber = changeFromLineNumber + changeCount - 1;\n if (this.getCount() === 0) {\n // no lines\n return false;\n }\n const startLineNumber = this.getStartLineNumber();\n const endLineNumber = this.getEndLineNumber();\n let someoneNotified = false;\n for (let changedLineNumber = changeFromLineNumber; changedLineNumber <= changeToLineNumber; changedLineNumber++) {\n if (changedLineNumber >= startLineNumber && changedLineNumber <= endLineNumber) {\n // Notify the line\n this._lines[changedLineNumber - this._rendLineNumberStart].onContentChanged();\n someoneNotified = true;\n }\n }\n return someoneNotified;\n }\n onLinesInserted(insertFromLineNumber, insertToLineNumber) {\n if (this.getCount() === 0) {\n // no lines\n return null;\n }\n const insertCnt = insertToLineNumber - insertFromLineNumber + 1;\n const startLineNumber = this.getStartLineNumber();\n const endLineNumber = this.getEndLineNumber();\n if (insertFromLineNumber <= startLineNumber) {\n // inserting above the viewport\n this._rendLineNumberStart += insertCnt;\n return null;\n }\n if (insertFromLineNumber > endLineNumber) {\n // inserting below the viewport\n return null;\n }\n if (insertCnt + insertFromLineNumber > endLineNumber) {\n // insert inside the viewport in such a way that all remaining lines are pushed outside\n const deleted = this._lines.splice(insertFromLineNumber - this._rendLineNumberStart, endLineNumber - insertFromLineNumber + 1);\n return deleted;\n }\n // insert inside the viewport, push out some lines, but not all remaining lines\n const newLines = [];\n for (let i = 0; i < insertCnt; i++) {\n newLines[i] = this._createLine();\n }\n const insertIndex = insertFromLineNumber - this._rendLineNumberStart;\n const beforeLines = this._lines.slice(0, insertIndex);\n const afterLines = this._lines.slice(insertIndex, this._lines.length - insertCnt);\n const deletedLines = this._lines.slice(this._lines.length - insertCnt, this._lines.length);\n this._lines = beforeLines.concat(newLines).concat(afterLines);\n return deletedLines;\n }\n onTokensChanged(ranges) {\n if (this.getCount() === 0) {\n // no lines\n return false;\n }\n const startLineNumber = this.getStartLineNumber();\n const endLineNumber = this.getEndLineNumber();\n let notifiedSomeone = false;\n for (let i = 0, len = ranges.length; i < len; i++) {\n const rng = ranges[i];\n if (rng.toLineNumber < startLineNumber || rng.fromLineNumber > endLineNumber) {\n // range outside viewport\n continue;\n }\n const from = Math.max(startLineNumber, rng.fromLineNumber);\n const to = Math.min(endLineNumber, rng.toLineNumber);\n for (let lineNumber = from; lineNumber <= to; lineNumber++) {\n const lineIndex = lineNumber - this._rendLineNumberStart;\n this._lines[lineIndex].onTokensChanged();\n notifiedSomeone = true;\n }\n }\n return notifiedSomeone;\n }\n}\nexport class VisibleLinesCollection {\n constructor(host) {\n this._host = host;\n this.domNode = this._createDomNode();\n this._linesCollection = new RenderedLinesCollection(() => this._host.createVisibleLine());\n }\n _createDomNode() {\n const domNode = createFastDomNode(document.createElement('div'));\n domNode.setClassName('view-layer');\n domNode.setPosition('absolute');\n domNode.domNode.setAttribute('role', 'presentation');\n domNode.domNode.setAttribute('aria-hidden', 'true');\n return domNode;\n }\n // ---- begin view event handlers\n onConfigurationChanged(e) {\n if (e.hasChanged(145 /* EditorOption.layoutInfo */)) {\n return true;\n }\n return false;\n }\n onFlushed(e) {\n this._linesCollection.flush();\n // No need to clear the dom node because a full .innerHTML will occur in ViewLayerRenderer._render\n return true;\n }\n onLinesChanged(e) {\n return this._linesCollection.onLinesChanged(e.fromLineNumber, e.count);\n }\n onLinesDeleted(e) {\n const deleted = this._linesCollection.onLinesDeleted(e.fromLineNumber, e.toLineNumber);\n if (deleted) {\n // Remove from DOM\n for (let i = 0, len = deleted.length; i < len; i++) {\n const lineDomNode = deleted[i].getDomNode();\n if (lineDomNode) {\n this.domNode.domNode.removeChild(lineDomNode);\n }\n }\n }\n return true;\n }\n onLinesInserted(e) {\n const deleted = this._linesCollection.onLinesInserted(e.fromLineNumber, e.toLineNumber);\n if (deleted) {\n // Remove from DOM\n for (let i = 0, len = deleted.length; i < len; i++) {\n const lineDomNode = deleted[i].getDomNode();\n if (lineDomNode) {\n this.domNode.domNode.removeChild(lineDomNode);\n }\n }\n }\n return true;\n }\n onScrollChanged(e) {\n return e.scrollTopChanged;\n }\n onTokensChanged(e) {\n return this._linesCollection.onTokensChanged(e.ranges);\n }\n onZonesChanged(e) {\n return true;\n }\n // ---- end view event handlers\n getStartLineNumber() {\n return this._linesCollection.getStartLineNumber();\n }\n getEndLineNumber() {\n return this._linesCollection.getEndLineNumber();\n }\n getVisibleLine(lineNumber) {\n return this._linesCollection.getLine(lineNumber);\n }\n renderLines(viewportData) {\n const inp = this._linesCollection._get();\n const renderer = new ViewLayerRenderer(this.domNode.domNode, this._host, viewportData);\n const ctx = {\n rendLineNumberStart: inp.rendLineNumberStart,\n lines: inp.lines,\n linesLength: inp.lines.length\n };\n // Decide if this render will do a single update (single large .innerHTML) or many updates (inserting/removing dom nodes)\n const resCtx = renderer.render(ctx, viewportData.startLineNumber, viewportData.endLineNumber, viewportData.relativeVerticalOffset);\n this._linesCollection._set(resCtx.rendLineNumberStart, resCtx.lines);\n }\n}\nclass ViewLayerRenderer {\n constructor(domNode, host, viewportData) {\n this.domNode = domNode;\n this.host = host;\n this.viewportData = viewportData;\n }\n render(inContext, startLineNumber, stopLineNumber, deltaTop) {\n const ctx = {\n rendLineNumberStart: inContext.rendLineNumberStart,\n lines: inContext.lines.slice(0),\n linesLength: inContext.linesLength\n };\n if ((ctx.rendLineNumberStart + ctx.linesLength - 1 < startLineNumber) || (stopLineNumber < ctx.rendLineNumberStart)) {\n // There is no overlap whatsoever\n ctx.rendLineNumberStart = startLineNumber;\n ctx.linesLength = stopLineNumber - startLineNumber + 1;\n ctx.lines = [];\n for (let x = startLineNumber; x <= stopLineNumber; x++) {\n ctx.lines[x - startLineNumber] = this.host.createVisibleLine();\n }\n this._finishRendering(ctx, true, deltaTop);\n return ctx;\n }\n // Update lines which will remain untouched\n this._renderUntouchedLines(ctx, Math.max(startLineNumber - ctx.rendLineNumberStart, 0), Math.min(stopLineNumber - ctx.rendLineNumberStart, ctx.linesLength - 1), deltaTop, startLineNumber);\n if (ctx.rendLineNumberStart > startLineNumber) {\n // Insert lines before\n const fromLineNumber = startLineNumber;\n const toLineNumber = Math.min(stopLineNumber, ctx.rendLineNumberStart - 1);\n if (fromLineNumber <= toLineNumber) {\n this._insertLinesBefore(ctx, fromLineNumber, toLineNumber, deltaTop, startLineNumber);\n ctx.linesLength += toLineNumber - fromLineNumber + 1;\n }\n }\n else if (ctx.rendLineNumberStart < startLineNumber) {\n // Remove lines before\n const removeCnt = Math.min(ctx.linesLength, startLineNumber - ctx.rendLineNumberStart);\n if (removeCnt > 0) {\n this._removeLinesBefore(ctx, removeCnt);\n ctx.linesLength -= removeCnt;\n }\n }\n ctx.rendLineNumberStart = startLineNumber;\n if (ctx.rendLineNumberStart + ctx.linesLength - 1 < stopLineNumber) {\n // Insert lines after\n const fromLineNumber = ctx.rendLineNumberStart + ctx.linesLength;\n const toLineNumber = stopLineNumber;\n if (fromLineNumber <= toLineNumber) {\n this._insertLinesAfter(ctx, fromLineNumber, toLineNumber, deltaTop, startLineNumber);\n ctx.linesLength += toLineNumber - fromLineNumber + 1;\n }\n }\n else if (ctx.rendLineNumberStart + ctx.linesLength - 1 > stopLineNumber) {\n // Remove lines after\n const fromLineNumber = Math.max(0, stopLineNumber - ctx.rendLineNumberStart + 1);\n const toLineNumber = ctx.linesLength - 1;\n const removeCnt = toLineNumber - fromLineNumber + 1;\n if (removeCnt > 0) {\n this._removeLinesAfter(ctx, removeCnt);\n ctx.linesLength -= removeCnt;\n }\n }\n this._finishRendering(ctx, false, deltaTop);\n return ctx;\n }\n _renderUntouchedLines(ctx, startIndex, endIndex, deltaTop, deltaLN) {\n const rendLineNumberStart = ctx.rendLineNumberStart;\n const lines = ctx.lines;\n for (let i = startIndex; i <= endIndex; i++) {\n const lineNumber = rendLineNumberStart + i;\n lines[i].layoutLine(lineNumber, deltaTop[lineNumber - deltaLN], this.viewportData.lineHeight);\n }\n }\n _insertLinesBefore(ctx, fromLineNumber, toLineNumber, deltaTop, deltaLN) {\n const newLines = [];\n let newLinesLen = 0;\n for (let lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {\n newLines[newLinesLen++] = this.host.createVisibleLine();\n }\n ctx.lines = newLines.concat(ctx.lines);\n }\n _removeLinesBefore(ctx, removeCount) {\n for (let i = 0; i < removeCount; i++) {\n const lineDomNode = ctx.lines[i].getDomNode();\n if (lineDomNode) {\n this.domNode.removeChild(lineDomNode);\n }\n }\n ctx.lines.splice(0, removeCount);\n }\n _insertLinesAfter(ctx, fromLineNumber, toLineNumber, deltaTop, deltaLN) {\n const newLines = [];\n let newLinesLen = 0;\n for (let lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {\n newLines[newLinesLen++] = this.host.createVisibleLine();\n }\n ctx.lines = ctx.lines.concat(newLines);\n }\n _removeLinesAfter(ctx, removeCount) {\n const removeIndex = ctx.linesLength - removeCount;\n for (let i = 0; i < removeCount; i++) {\n const lineDomNode = ctx.lines[removeIndex + i].getDomNode();\n if (lineDomNode) {\n this.domNode.removeChild(lineDomNode);\n }\n }\n ctx.lines.splice(removeIndex, removeCount);\n }\n _finishRenderingNewLines(ctx, domNodeIsEmpty, newLinesHTML, wasNew) {\n if (ViewLayerRenderer._ttPolicy) {\n newLinesHTML = ViewLayerRenderer._ttPolicy.createHTML(newLinesHTML);\n }\n const lastChild = this.domNode.lastChild;\n if (domNodeIsEmpty || !lastChild) {\n this.domNode.innerHTML = newLinesHTML; // explains the ugly casts -> https://github.com/microsoft/vscode/issues/106396#issuecomment-692625393;\n }\n else {\n lastChild.insertAdjacentHTML('afterend', newLinesHTML);\n }\n let currChild = this.domNode.lastChild;\n for (let i = ctx.linesLength - 1; i >= 0; i--) {\n const line = ctx.lines[i];\n if (wasNew[i]) {\n line.setDomNode(currChild);\n currChild = currChild.previousSibling;\n }\n }\n }\n _finishRenderingInvalidLines(ctx, invalidLinesHTML, wasInvalid) {\n const hugeDomNode = document.createElement('div');\n if (ViewLayerRenderer._ttPolicy) {\n invalidLinesHTML = ViewLayerRenderer._ttPolicy.createHTML(invalidLinesHTML);\n }\n hugeDomNode.innerHTML = invalidLinesHTML;\n for (let i = 0; i < ctx.linesLength; i++) {\n const line = ctx.lines[i];\n if (wasInvalid[i]) {\n const source = hugeDomNode.firstChild;\n const lineDomNode = line.getDomNode();\n lineDomNode.parentNode.replaceChild(source, lineDomNode);\n line.setDomNode(source);\n }\n }\n }\n _finishRendering(ctx, domNodeIsEmpty, deltaTop) {\n const sb = ViewLayerRenderer._sb;\n const linesLength = ctx.linesLength;\n const lines = ctx.lines;\n const rendLineNumberStart = ctx.rendLineNumberStart;\n const wasNew = [];\n {\n sb.reset();\n let hadNewLine = false;\n for (let i = 0; i < linesLength; i++) {\n const line = lines[i];\n wasNew[i] = false;\n const lineDomNode = line.getDomNode();\n if (lineDomNode) {\n // line is not new\n continue;\n }\n const renderResult = line.renderLine(i + rendLineNumberStart, deltaTop[i], this.viewportData.lineHeight, this.viewportData, sb);\n if (!renderResult) {\n // line does not need rendering\n continue;\n }\n wasNew[i] = true;\n hadNewLine = true;\n }\n if (hadNewLine) {\n this._finishRenderingNewLines(ctx, domNodeIsEmpty, sb.build(), wasNew);\n }\n }\n {\n sb.reset();\n let hadInvalidLine = false;\n const wasInvalid = [];\n for (let i = 0; i < linesLength; i++) {\n const line = lines[i];\n wasInvalid[i] = false;\n if (wasNew[i]) {\n // line was new\n continue;\n }\n const renderResult = line.renderLine(i + rendLineNumberStart, deltaTop[i], this.viewportData.lineHeight, this.viewportData, sb);\n if (!renderResult) {\n // line does not need rendering\n continue;\n }\n wasInvalid[i] = true;\n hadInvalidLine = true;\n }\n if (hadInvalidLine) {\n this._finishRenderingInvalidLines(ctx, sb.build(), wasInvalid);\n }\n }\n }\n}\nViewLayerRenderer._ttPolicy = createTrustedTypesPolicy('editorViewLayer', { createHTML: value => value });\nViewLayerRenderer._sb = new StringBuilder(100000);\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 *--------------------------------------------------------------------------------------------*/\nimport { createFastDomNode } from '../../../base/browser/fastDomNode.js';\nimport { applyFontInfo } from '../config/domFontInfo.js';\nimport { VisibleLinesCollection } from './viewLayer.js';\nimport { ViewPart } from './viewPart.js';\nexport class ViewOverlays extends ViewPart {\n constructor(context) {\n super(context);\n this._visibleLines = new VisibleLinesCollection(this);\n this.domNode = this._visibleLines.domNode;\n const options = this._context.configuration.options;\n const fontInfo = options.get(50 /* EditorOption.fontInfo */);\n applyFontInfo(this.domNode, fontInfo);\n this._dynamicOverlays = [];\n this._isFocused = false;\n this.domNode.setClassName('view-overlays');\n }\n shouldRender() {\n if (super.shouldRender()) {\n return true;\n }\n for (let i = 0, len = this._dynamicOverlays.length; i < len; i++) {\n const dynamicOverlay = this._dynamicOverlays[i];\n if (dynamicOverlay.shouldRender()) {\n return true;\n }\n }\n return false;\n }\n dispose() {\n super.dispose();\n for (let i = 0, len = this._dynamicOverlays.length; i < len; i++) {\n const dynamicOverlay = this._dynamicOverlays[i];\n dynamicOverlay.dispose();\n }\n this._dynamicOverlays = [];\n }\n getDomNode() {\n return this.domNode;\n }\n // ---- begin IVisibleLinesHost\n createVisibleLine() {\n return new ViewOverlayLine(this._dynamicOverlays);\n }\n // ---- end IVisibleLinesHost\n addDynamicOverlay(overlay) {\n this._dynamicOverlays.push(overlay);\n }\n // ----- event handlers\n onConfigurationChanged(e) {\n this._visibleLines.onConfigurationChanged(e);\n const options = this._context.configuration.options;\n const fontInfo = options.get(50 /* EditorOption.fontInfo */);\n applyFontInfo(this.domNode, fontInfo);\n return true;\n }\n onFlushed(e) {\n return this._visibleLines.onFlushed(e);\n }\n onFocusChanged(e) {\n this._isFocused = e.isFocused;\n return true;\n }\n onLinesChanged(e) {\n return this._visibleLines.onLinesChanged(e);\n }\n onLinesDeleted(e) {\n return this._visibleLines.onLinesDeleted(e);\n }\n onLinesInserted(e) {\n return this._visibleLines.onLinesInserted(e);\n }\n onScrollChanged(e) {\n return this._visibleLines.onScrollChanged(e) || true;\n }\n onTokensChanged(e) {\n return this._visibleLines.onTokensChanged(e);\n }\n onZonesChanged(e) {\n return this._visibleLines.onZonesChanged(e);\n }\n // ----- end event handlers\n prepareRender(ctx) {\n const toRender = this._dynamicOverlays.filter(overlay => overlay.shouldRender());\n for (let i = 0, len = toRender.length; i < len; i++) {\n const dynamicOverlay = toRender[i];\n dynamicOverlay.prepareRender(ctx);\n dynamicOverlay.onDidRender();\n }\n }\n render(ctx) {\n // Overwriting to bypass `shouldRender` flag\n this._viewOverlaysRender(ctx);\n this.domNode.toggleClassName('focused', this._isFocused);\n }\n _viewOverlaysRender(ctx) {\n this._visibleLines.renderLines(ctx.viewportData);\n }\n}\nexport class ViewOverlayLine {\n constructor(dynamicOverlays) {\n this._dynamicOverlays = dynamicOverlays;\n this._domNode = null;\n this._renderedContent = null;\n }\n getDomNode() {\n if (!this._domNode) {\n return null;\n }\n return this._domNode.domNode;\n }\n setDomNode(domNode) {\n this._domNode = createFastDomNode(domNode);\n }\n onContentChanged() {\n // Nothing\n }\n onTokensChanged() {\n // Nothing\n }\n renderLine(lineNumber, deltaTop, lineHeight, viewportData, sb) {\n let result = '';\n for (let i = 0, len = this._dynamicOverlays.length; i < len; i++) {\n const dynamicOverlay = this._dynamicOverlays[i];\n result += dynamicOverlay.render(viewportData.startLineNumber, lineNumber);\n }\n if (this._renderedContent === result) {\n // No rendering needed\n return false;\n }\n this._renderedContent = result;\n sb.appendString('
');\n sb.appendString(result);\n sb.appendString('
');\n return true;\n }\n layoutLine(lineNumber, deltaTop, lineHeight) {\n if (this._domNode) {\n this._domNode.setTop(deltaTop);\n this._domNode.setHeight(lineHeight);\n }\n }\n}\nexport class ContentViewOverlays extends ViewOverlays {\n constructor(context) {\n super(context);\n const options = this._context.configuration.options;\n const layoutInfo = options.get(145 /* EditorOption.layoutInfo */);\n this._contentWidth = layoutInfo.contentWidth;\n this.domNode.setHeight(0);\n }\n // --- begin event handlers\n onConfigurationChanged(e) {\n const options = this._context.configuration.options;\n const layoutInfo = options.get(145 /* EditorOption.layoutInfo */);\n this._contentWidth = layoutInfo.contentWidth;\n return super.onConfigurationChanged(e) || true;\n }\n onScrollChanged(e) {\n return super.onScrollChanged(e) || e.scrollWidthChanged;\n }\n // --- end event handlers\n _viewOverlaysRender(ctx) {\n super._viewOverlaysRender(ctx);\n this.domNode.setWidth(Math.max(ctx.scrollWidth, this._contentWidth));\n }\n}\nexport class MarginViewOverlays extends ViewOverlays {\n constructor(context) {\n super(context);\n const options = this._context.configuration.options;\n const layoutInfo = options.get(145 /* EditorOption.layoutInfo */);\n this._contentLeft = layoutInfo.contentLeft;\n this.domNode.setClassName('margin-view-overlays');\n this.domNode.setWidth(1);\n applyFontInfo(this.domNode, options.get(50 /* EditorOption.fontInfo */));\n }\n onConfigurationChanged(e) {\n const options = this._context.configuration.options;\n applyFontInfo(this.domNode, options.get(50 /* EditorOption.fontInfo */));\n const layoutInfo = options.get(145 /* EditorOption.layoutInfo */);\n this._contentLeft = layoutInfo.contentLeft;\n return super.onConfigurationChanged(e) || true;\n }\n onScrollChanged(e) {\n return super.onScrollChanged(e) || e.scrollHeightChanged;\n }\n _viewOverlaysRender(ctx) {\n super._viewOverlaysRender(ctx);\n const height = Math.min(ctx.scrollHeight, 1000000);\n this.domNode.setHeight(height);\n this.domNode.setWidth(this._contentLeft);\n }\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 *--------------------------------------------------------------------------------------------*/\nimport { ViewEventHandler } from '../../common/viewEventHandler.js';\nexport class ViewPart extends ViewEventHandler {\n constructor(context) {\n super();\n this._context = context;\n this._context.addEventHandler(this);\n }\n dispose() {\n this._context.removeEventHandler(this);\n super.dispose();\n }\n}\nexport class PartFingerprints {\n static write(target, partId) {\n target.setAttribute('data-mprt', String(partId));\n }\n static read(target) {\n const r = target.getAttribute('data-mprt');\n if (r === null) {\n return 0 /* PartFingerprint.None */;\n }\n return parseInt(r, 10);\n }\n static collect(child, stopAt) {\n const result = [];\n let resultLen = 0;\n while (child && child !== child.ownerDocument.body) {\n if (child === stopAt) {\n break;\n }\n if (child.nodeType === child.ELEMENT_NODE) {\n result[resultLen++] = this.read(child);\n }\n child = child.parentElement;\n }\n const r = new Uint8Array(resultLen);\n for (let i = 0; i < resultLen; i++) {\n r[i] = result[resultLen - i - 1];\n }\n return r;\n }\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 *--------------------------------------------------------------------------------------------*/\nimport { Position } from '../../common/core/position.js';\nexport class ViewUserInputEvents {\n constructor(coordinatesConverter) {\n this.onKeyDown = null;\n this.onKeyUp = null;\n this.onContextMenu = null;\n this.onMouseMove = null;\n this.onMouseLeave = null;\n this.onMouseDown = null;\n this.onMouseUp = null;\n this.onMouseDrag = null;\n this.onMouseDrop = null;\n this.onMouseDropCanceled = null;\n this.onMouseWheel = null;\n this._coordinatesConverter = coordinatesConverter;\n }\n emitKeyDown(e) {\n var _a;\n (_a = this.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(this, e);\n }\n emitKeyUp(e) {\n var _a;\n (_a = this.onKeyUp) === null || _a === void 0 ? void 0 : _a.call(this, e);\n }\n emitContextMenu(e) {\n var _a;\n (_a = this.onContextMenu) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseMove(e) {\n var _a;\n (_a = this.onMouseMove) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseLeave(e) {\n var _a;\n (_a = this.onMouseLeave) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseDown(e) {\n var _a;\n (_a = this.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseUp(e) {\n var _a;\n (_a = this.onMouseUp) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseDrag(e) {\n var _a;\n (_a = this.onMouseDrag) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseDrop(e) {\n var _a;\n (_a = this.onMouseDrop) === null || _a === void 0 ? void 0 : _a.call(this, this._convertViewToModelMouseEvent(e));\n }\n emitMouseDropCanceled() {\n var _a;\n (_a = this.onMouseDropCanceled) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n emitMouseWheel(e) {\n var _a;\n (_a = this.onMouseWheel) === null || _a === void 0 ? void 0 : _a.call(this, e);\n }\n _convertViewToModelMouseEvent(e) {\n if (e.target) {\n return {\n event: e.event,\n target: this._convertViewToModelMouseTarget(e.target)\n };\n }\n return e;\n }\n _convertViewToModelMouseTarget(target) {\n return ViewUserInputEvents.convertViewToModelMouseTarget(target, this._coordinatesConverter);\n }\n static convertViewToModelMouseTarget(target, coordinatesConverter) {\n const result = { ...target };\n if (result.position) {\n result.position = coordinatesConverter.convertViewPositionToModelPosition(result.position);\n }\n if (result.range) {\n result.range = coordinatesConverter.convertViewRangeToModelRange(result.range);\n }\n if (result.type === 5 /* MouseTargetType.GUTTER_VIEW_ZONE */ || result.type === 8 /* MouseTargetType.CONTENT_VIEW_ZONE */) {\n result.detail = this.convertViewToModelViewZoneData(result.detail, coordinatesConverter);\n }\n return result;\n }\n static convertViewToModelViewZoneData(data, coordinatesConverter) {\n return {\n viewZoneId: data.viewZoneId,\n positionBefore: data.positionBefore ? coordinatesConverter.convertViewPositionToModelPosition(data.positionBefore) : data.positionBefore,\n positionAfter: data.positionAfter ? coordinatesConverter.convertViewPositionToModelPosition(data.positionAfter) : data.positionAfter,\n position: coordinatesConverter.convertViewPositionToModelPosition(data.position),\n afterLineNumber: coordinatesConverter.convertViewPositionToModelPosition(new Position(data.afterLineNumber, 1)).lineNumber,\n };\n }\n}\n"],"names":["RestrictedRenderingContext","constructor","viewLayout","viewportData","this","_restrictedRenderingContextBrand","undefined","_viewLayout","scrollWidth","getScrollWidth","scrollHeight","getScrollHeight","visibleRange","bigNumbersDelta","vInfo","getCurrentViewport","scrollTop","top","scrollLeft","left","viewportWidth","width","viewportHeight","height","getScrolledTopFromAbsoluteTop","absoluteTop","getVerticalOffsetForLineNumber","lineNumber","includeViewZones","getVerticalOffsetAfterLineNumber","getDecorationsInViewport","RenderingContext","viewLines","super","_renderingContextBrand","_viewLines","linesVisibleRangesForRange","range","includeNewLines","visibleRangeForPosition","position","LineVisibleRanges","outsideRenderedLine","ranges","continuesOnNextLine","HorizontalRange","from","result","Array","length","i","len","_horizontalRangeBrand","Math","round","toString","FloatHorizontalRange","_floatHorizontalRangeBrand","compare","a","b","HorizontalPosition","originalLeft","VisibleRanges","ViewController","configuration","viewModel","userInputEvents","commandDelegate","paste","text","pasteOnNewLine","multicursorText","mode","type","compositionType","replacePrevCharCnt","replaceNextCharCnt","positionDelta","compositionStart","startComposition","compositionEnd","endComposition","cut","setSelection","modelSelection","source","selection","_validateViewColumn","viewPosition","minColumn","getLineMinColumn","column","_hasMulticursorModifier","data","options","get","altKey","ctrlKey","metaKey","_hasNonMulticursorModifier","dispatchMouse","selectionClipboardIsOn","columnSelection","middleButton","_columnSelect","mouseColumn","inSelectionMode","startedOnLineNumbers","_lastCursorLineSelect","revealType","_createCursor","_lineSelectDrag","_lineSelect","mouseDownCount","_selectAll","_lastCursorLineSelectDrag","onInjectedText","_lastCursorWordSelect","_wordSelectDrag","_wordSelect","shiftKey","_lastCursorMoveToSelect","_moveToSelect","moveTo","_usualArgs","_convertViewToModelPosition","doColumnSelect","wholeLine","coordinatesConverter","convertViewPositionToModelPosition","emitKeyDown","e","emitKeyUp","emitContextMenu","emitMouseMove","emitMouseLeave","emitMouseUp","emitMouseDown","emitMouseDrag","emitMouseDrop","emitMouseDropCanceled","emitMouseWheel","RenderedLinesCollection","createLine","_createLine","_set","flush","rendLineNumberStart","lines","_lines","_rendLineNumberStart","_get","getStartLineNumber","getEndLineNumber","getCount","getLine","lineIndex","onLinesDeleted","deleteFromLineNumber","deleteToLineNumber","startLineNumber","endLineNumber","deleteCnt","deleteStartIndex","deleteCount","deleteAboveCount","splice","onLinesChanged","changeFromLineNumber","changeCount","changeToLineNumber","someoneNotified","changedLineNumber","onContentChanged","onLinesInserted","insertFromLineNumber","insertToLineNumber","insertCnt","newLines","insertIndex","beforeLines","slice","afterLines","deletedLines","concat","onTokensChanged","notifiedSomeone","rng","toLineNumber","fromLineNumber","max","to","min","VisibleLinesCollection","host","_host","domNode","_createDomNode","_linesCollection","createVisibleLine","document","createElement","setClassName","setPosition","setAttribute","onConfigurationChanged","hasChanged","onFlushed","count","deleted","lineDomNode","getDomNode","removeChild","onScrollChanged","scrollTopChanged","onZonesChanged","getVisibleLine","renderLines","inp","renderer","ViewLayerRenderer","ctx","linesLength","resCtx","render","relativeVerticalOffset","inContext","stopLineNumber","deltaTop","x","_finishRendering","_renderUntouchedLines","_insertLinesBefore","removeCnt","_removeLinesBefore","_insertLinesAfter","_removeLinesAfter","startIndex","endIndex","deltaLN","layoutLine","lineHeight","newLinesLen","removeCount","removeIndex","_finishRenderingNewLines","domNodeIsEmpty","newLinesHTML","wasNew","_ttPolicy","createHTML","lastChild","innerHTML","insertAdjacentHTML","currChild","line","setDomNode","previousSibling","_finishRenderingInvalidLines","invalidLinesHTML","wasInvalid","hugeDomNode","firstChild","parentNode","replaceChild","sb","_sb","reset","hadNewLine","renderLine","build","hadInvalidLine","value","ViewOverlays","context","_visibleLines","fontInfo","_context","_dynamicOverlays","_isFocused","shouldRender","dispose","ViewOverlayLine","addDynamicOverlay","overlay","push","onFocusChanged","isFocused","prepareRender","toRender","filter","dynamicOverlay","onDidRender","_viewOverlaysRender","toggleClassName","dynamicOverlays","_domNode","_renderedContent","appendString","String","setTop","setHeight","ContentViewOverlays","layoutInfo","_contentWidth","contentWidth","scrollWidthChanged","setWidth","MarginViewOverlays","_contentLeft","contentLeft","scrollHeightChanged","ViewPart","addEventHandler","removeEventHandler","PartFingerprints","write","target","partId","read","r","getAttribute","parseInt","collect","child","stopAt","resultLen","ownerDocument","body","nodeType","ELEMENT_NODE","parentElement","Uint8Array","ViewUserInputEvents","onKeyDown","onKeyUp","onContextMenu","onMouseMove","onMouseLeave","onMouseDown","onMouseUp","onMouseDrag","onMouseDrop","onMouseDropCanceled","onMouseWheel","_coordinatesConverter","_a","call","_convertViewToModelMouseEvent","event","_convertViewToModelMouseTarget","convertViewToModelMouseTarget","convertViewRangeToModelRange","detail","convertViewToModelViewZoneData","viewZoneId","positionBefore","positionAfter","afterLineNumber"],"sourceRoot":""}