{"version":3,"file":"static/js/4606_3d9c428e64bc932f9e76.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/contrib/gotoError/browser/markerNavigationService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoError.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 { binarySearch } from '../../../../base/common/arrays.js';\nimport { Emitter } from '../../../../base/common/event.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../../base/common/linkedList.js';\nimport { compare } from '../../../../base/common/strings.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { Range } from '../../../common/core/range.js';\nimport { registerSingleton } from '../../../../platform/instantiation/common/extensions.js';\nimport { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';\nimport { IMarkerService, MarkerSeverity } from '../../../../platform/markers/common/markers.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nexport class MarkerCoordinate {\n constructor(marker, index, total) {\n this.marker = marker;\n this.index = index;\n this.total = total;\n }\n}\nlet MarkerList = class MarkerList {\n constructor(resourceFilter, _markerService, _configService) {\n this._markerService = _markerService;\n this._configService = _configService;\n this._onDidChange = new Emitter();\n this.onDidChange = this._onDidChange.event;\n this._dispoables = new DisposableStore();\n this._markers = [];\n this._nextIdx = -1;\n if (URI.isUri(resourceFilter)) {\n this._resourceFilter = uri => uri.toString() === resourceFilter.toString();\n }\n else if (resourceFilter) {\n this._resourceFilter = resourceFilter;\n }\n const compareOrder = this._configService.getValue('problems.sortOrder');\n const compareMarker = (a, b) => {\n let res = compare(a.resource.toString(), b.resource.toString());\n if (res === 0) {\n if (compareOrder === 'position') {\n res = Range.compareRangesUsingStarts(a, b) || MarkerSeverity.compare(a.severity, b.severity);\n }\n else {\n res = MarkerSeverity.compare(a.severity, b.severity) || Range.compareRangesUsingStarts(a, b);\n }\n }\n return res;\n };\n const updateMarker = () => {\n this._markers = this._markerService.read({\n resource: URI.isUri(resourceFilter) ? resourceFilter : undefined,\n severities: MarkerSeverity.Error | MarkerSeverity.Warning | MarkerSeverity.Info\n });\n if (typeof resourceFilter === 'function') {\n this._markers = this._markers.filter(m => this._resourceFilter(m.resource));\n }\n this._markers.sort(compareMarker);\n };\n updateMarker();\n this._dispoables.add(_markerService.onMarkerChanged(uris => {\n if (!this._resourceFilter || uris.some(uri => this._resourceFilter(uri))) {\n updateMarker();\n this._nextIdx = -1;\n this._onDidChange.fire();\n }\n }));\n }\n dispose() {\n this._dispoables.dispose();\n this._onDidChange.dispose();\n }\n matches(uri) {\n if (!this._resourceFilter && !uri) {\n return true;\n }\n if (!this._resourceFilter || !uri) {\n return false;\n }\n return this._resourceFilter(uri);\n }\n get selected() {\n const marker = this._markers[this._nextIdx];\n return marker && new MarkerCoordinate(marker, this._nextIdx + 1, this._markers.length);\n }\n _initIdx(model, position, fwd) {\n let found = false;\n let idx = this._markers.findIndex(marker => marker.resource.toString() === model.uri.toString());\n if (idx < 0) {\n idx = binarySearch(this._markers, { resource: model.uri }, (a, b) => compare(a.resource.toString(), b.resource.toString()));\n if (idx < 0) {\n idx = ~idx;\n }\n }\n for (let i = idx; i < this._markers.length; i++) {\n let range = Range.lift(this._markers[i]);\n if (range.isEmpty()) {\n const word = model.getWordAtPosition(range.getStartPosition());\n if (word) {\n range = new Range(range.startLineNumber, word.startColumn, range.startLineNumber, word.endColumn);\n }\n }\n if (position && (range.containsPosition(position) || position.isBeforeOrEqual(range.getStartPosition()))) {\n this._nextIdx = i;\n found = true;\n break;\n }\n if (this._markers[i].resource.toString() !== model.uri.toString()) {\n break;\n }\n }\n if (!found) {\n // after the last change\n this._nextIdx = fwd ? 0 : this._markers.length - 1;\n }\n if (this._nextIdx < 0) {\n this._nextIdx = this._markers.length - 1;\n }\n }\n resetIndex() {\n this._nextIdx = -1;\n }\n move(fwd, model, position) {\n if (this._markers.length === 0) {\n return false;\n }\n const oldIdx = this._nextIdx;\n if (this._nextIdx === -1) {\n this._initIdx(model, position, fwd);\n }\n else if (fwd) {\n this._nextIdx = (this._nextIdx + 1) % this._markers.length;\n }\n else if (!fwd) {\n this._nextIdx = (this._nextIdx - 1 + this._markers.length) % this._markers.length;\n }\n if (oldIdx !== this._nextIdx) {\n return true;\n }\n return false;\n }\n find(uri, position) {\n let idx = this._markers.findIndex(marker => marker.resource.toString() === uri.toString());\n if (idx < 0) {\n return undefined;\n }\n for (; idx < this._markers.length; idx++) {\n if (Range.containsPosition(this._markers[idx], position)) {\n return new MarkerCoordinate(this._markers[idx], idx + 1, this._markers.length);\n }\n }\n return undefined;\n }\n};\nMarkerList = __decorate([\n __param(1, IMarkerService),\n __param(2, IConfigurationService)\n], MarkerList);\nexport { MarkerList };\nexport const IMarkerNavigationService = createDecorator('IMarkerNavigationService');\nlet MarkerNavigationService = class MarkerNavigationService {\n constructor(_markerService, _configService) {\n this._markerService = _markerService;\n this._configService = _configService;\n this._provider = new LinkedList();\n }\n getMarkerList(resource) {\n for (const provider of this._provider) {\n const result = provider.getMarkerList(resource);\n if (result) {\n return result;\n }\n }\n // default\n return new MarkerList(resource, this._markerService, this._configService);\n }\n};\nMarkerNavigationService = __decorate([\n __param(0, IMarkerService),\n __param(1, IConfigurationService)\n], MarkerNavigationService);\nregisterSingleton(IMarkerNavigationService, MarkerNavigationService, 1 /* InstantiationType.Delayed */);\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 *--------------------------------------------------------------------------------------------*/\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};\nvar MarkerNavigationWidget_1;\nimport * as dom from '../../../../base/browser/dom.js';\nimport { ScrollableElement } from '../../../../base/browser/ui/scrollbar/scrollableElement.js';\nimport { isNonEmptyArray } from '../../../../base/common/arrays.js';\nimport { Color } from '../../../../base/common/color.js';\nimport { Emitter } from '../../../../base/common/event.js';\nimport { DisposableStore, dispose } from '../../../../base/common/lifecycle.js';\nimport { basename } from '../../../../base/common/resources.js';\nimport { splitLines } from '../../../../base/common/strings.js';\nimport './media/gotoErrorWidget.css';\nimport { Range } from '../../../common/core/range.js';\nimport { peekViewTitleForeground, peekViewTitleInfoForeground, PeekViewWidget } from '../../peekView/browser/peekView.js';\nimport * as nls from '../../../../nls.js';\nimport { createAndFillInActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';\nimport { IMenuService, MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { ILabelService } from '../../../../platform/label/common/label.js';\nimport { MarkerSeverity } from '../../../../platform/markers/common/markers.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\nimport { SeverityIcon } from '../../../../platform/severityIcon/browser/severityIcon.js';\nimport { contrastBorder, editorBackground, editorErrorBorder, editorErrorForeground, editorInfoBorder, editorInfoForeground, editorWarningBorder, editorWarningForeground, oneOf, registerColor, transparent } from '../../../../platform/theme/common/colorRegistry.js';\nimport { IThemeService } from '../../../../platform/theme/common/themeService.js';\nclass MessageWidget {\n constructor(parent, editor, onRelatedInformation, _openerService, _labelService) {\n this._openerService = _openerService;\n this._labelService = _labelService;\n this._lines = 0;\n this._longestLineLength = 0;\n this._relatedDiagnostics = new WeakMap();\n this._disposables = new DisposableStore();\n this._editor = editor;\n const domNode = document.createElement('div');\n domNode.className = 'descriptioncontainer';\n this._messageBlock = document.createElement('div');\n this._messageBlock.classList.add('message');\n this._messageBlock.setAttribute('aria-live', 'assertive');\n this._messageBlock.setAttribute('role', 'alert');\n domNode.appendChild(this._messageBlock);\n this._relatedBlock = document.createElement('div');\n domNode.appendChild(this._relatedBlock);\n this._disposables.add(dom.addStandardDisposableListener(this._relatedBlock, 'click', event => {\n event.preventDefault();\n const related = this._relatedDiagnostics.get(event.target);\n if (related) {\n onRelatedInformation(related);\n }\n }));\n this._scrollable = new ScrollableElement(domNode, {\n horizontal: 1 /* ScrollbarVisibility.Auto */,\n vertical: 1 /* ScrollbarVisibility.Auto */,\n useShadows: false,\n horizontalScrollbarSize: 6,\n verticalScrollbarSize: 6\n });\n parent.appendChild(this._scrollable.getDomNode());\n this._disposables.add(this._scrollable.onScroll(e => {\n domNode.style.left = `-${e.scrollLeft}px`;\n domNode.style.top = `-${e.scrollTop}px`;\n }));\n this._disposables.add(this._scrollable);\n }\n dispose() {\n dispose(this._disposables);\n }\n update(marker) {\n const { source, message, relatedInformation, code } = marker;\n let sourceAndCodeLength = ((source === null || source === void 0 ? void 0 : source.length) || 0) + '()'.length;\n if (code) {\n if (typeof code === 'string') {\n sourceAndCodeLength += code.length;\n }\n else {\n sourceAndCodeLength += code.value.length;\n }\n }\n const lines = splitLines(message);\n this._lines = lines.length;\n this._longestLineLength = 0;\n for (const line of lines) {\n this._longestLineLength = Math.max(line.length + sourceAndCodeLength, this._longestLineLength);\n }\n dom.clearNode(this._messageBlock);\n this._messageBlock.setAttribute('aria-label', this.getAriaLabel(marker));\n this._editor.applyFontInfo(this._messageBlock);\n let lastLineElement = this._messageBlock;\n for (const line of lines) {\n lastLineElement = document.createElement('div');\n lastLineElement.innerText = line;\n if (line === '') {\n lastLineElement.style.height = this._messageBlock.style.lineHeight;\n }\n this._messageBlock.appendChild(lastLineElement);\n }\n if (source || code) {\n const detailsElement = document.createElement('span');\n detailsElement.classList.add('details');\n lastLineElement.appendChild(detailsElement);\n if (source) {\n const sourceElement = document.createElement('span');\n sourceElement.innerText = source;\n sourceElement.classList.add('source');\n detailsElement.appendChild(sourceElement);\n }\n if (code) {\n if (typeof code === 'string') {\n const codeElement = document.createElement('span');\n codeElement.innerText = `(${code})`;\n codeElement.classList.add('code');\n detailsElement.appendChild(codeElement);\n }\n else {\n this._codeLink = dom.$('a.code-link');\n this._codeLink.setAttribute('href', `${code.target.toString()}`);\n this._codeLink.onclick = (e) => {\n this._openerService.open(code.target, { allowCommands: true });\n e.preventDefault();\n e.stopPropagation();\n };\n const codeElement = dom.append(this._codeLink, dom.$('span'));\n codeElement.innerText = code.value;\n detailsElement.appendChild(this._codeLink);\n }\n }\n }\n dom.clearNode(this._relatedBlock);\n this._editor.applyFontInfo(this._relatedBlock);\n if (isNonEmptyArray(relatedInformation)) {\n const relatedInformationNode = this._relatedBlock.appendChild(document.createElement('div'));\n relatedInformationNode.style.paddingTop = `${Math.floor(this._editor.getOption(67 /* EditorOption.lineHeight */) * 0.66)}px`;\n this._lines += 1;\n for (const related of relatedInformation) {\n const container = document.createElement('div');\n const relatedResource = document.createElement('a');\n relatedResource.classList.add('filename');\n relatedResource.innerText = `${this._labelService.getUriBasenameLabel(related.resource)}(${related.startLineNumber}, ${related.startColumn}): `;\n relatedResource.title = this._labelService.getUriLabel(related.resource);\n this._relatedDiagnostics.set(relatedResource, related);\n const relatedMessage = document.createElement('span');\n relatedMessage.innerText = related.message;\n container.appendChild(relatedResource);\n container.appendChild(relatedMessage);\n this._lines += 1;\n relatedInformationNode.appendChild(container);\n }\n }\n const fontInfo = this._editor.getOption(50 /* EditorOption.fontInfo */);\n const scrollWidth = Math.ceil(fontInfo.typicalFullwidthCharacterWidth * this._longestLineLength * 0.75);\n const scrollHeight = fontInfo.lineHeight * this._lines;\n this._scrollable.setScrollDimensions({ scrollWidth, scrollHeight });\n }\n layout(height, width) {\n this._scrollable.getDomNode().style.height = `${height}px`;\n this._scrollable.getDomNode().style.width = `${width}px`;\n this._scrollable.setScrollDimensions({ width, height });\n }\n getHeightInLines() {\n return Math.min(17, this._lines);\n }\n getAriaLabel(marker) {\n let severityLabel = '';\n switch (marker.severity) {\n case MarkerSeverity.Error:\n severityLabel = nls.localize('Error', \"Error\");\n break;\n case MarkerSeverity.Warning:\n severityLabel = nls.localize('Warning', \"Warning\");\n break;\n case MarkerSeverity.Info:\n severityLabel = nls.localize('Info', \"Info\");\n break;\n case MarkerSeverity.Hint:\n severityLabel = nls.localize('Hint', \"Hint\");\n break;\n }\n let ariaLabel = nls.localize('marker aria', \"{0} at {1}. \", severityLabel, marker.startLineNumber + ':' + marker.startColumn);\n const model = this._editor.getModel();\n if (model && (marker.startLineNumber <= model.getLineCount()) && (marker.startLineNumber >= 1)) {\n const lineContent = model.getLineContent(marker.startLineNumber);\n ariaLabel = `${lineContent}, ${ariaLabel}`;\n }\n return ariaLabel;\n }\n}\nlet MarkerNavigationWidget = MarkerNavigationWidget_1 = class MarkerNavigationWidget extends PeekViewWidget {\n constructor(editor, _themeService, _openerService, _menuService, instantiationService, _contextKeyService, _labelService) {\n super(editor, { showArrow: true, showFrame: true, isAccessible: true, frameWidth: 1 }, instantiationService);\n this._themeService = _themeService;\n this._openerService = _openerService;\n this._menuService = _menuService;\n this._contextKeyService = _contextKeyService;\n this._labelService = _labelService;\n this._callOnDispose = new DisposableStore();\n this._onDidSelectRelatedInformation = new Emitter();\n this.onDidSelectRelatedInformation = this._onDidSelectRelatedInformation.event;\n this._severity = MarkerSeverity.Warning;\n this._backgroundColor = Color.white;\n this._applyTheme(_themeService.getColorTheme());\n this._callOnDispose.add(_themeService.onDidColorThemeChange(this._applyTheme.bind(this)));\n this.create();\n }\n _applyTheme(theme) {\n this._backgroundColor = theme.getColor(editorMarkerNavigationBackground);\n let colorId = editorMarkerNavigationError;\n let headerBackground = editorMarkerNavigationErrorHeader;\n if (this._severity === MarkerSeverity.Warning) {\n colorId = editorMarkerNavigationWarning;\n headerBackground = editorMarkerNavigationWarningHeader;\n }\n else if (this._severity === MarkerSeverity.Info) {\n colorId = editorMarkerNavigationInfo;\n headerBackground = editorMarkerNavigationInfoHeader;\n }\n const frameColor = theme.getColor(colorId);\n const headerBg = theme.getColor(headerBackground);\n this.style({\n arrowColor: frameColor,\n frameColor: frameColor,\n headerBackgroundColor: headerBg,\n primaryHeadingColor: theme.getColor(peekViewTitleForeground),\n secondaryHeadingColor: theme.getColor(peekViewTitleInfoForeground)\n }); // style() will trigger _applyStyles\n }\n _applyStyles() {\n if (this._parentContainer) {\n this._parentContainer.style.backgroundColor = this._backgroundColor ? this._backgroundColor.toString() : '';\n }\n super._applyStyles();\n }\n dispose() {\n this._callOnDispose.dispose();\n super.dispose();\n }\n _fillHead(container) {\n super._fillHead(container);\n this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(e => this.editor.focus()));\n const actions = [];\n const menu = this._menuService.createMenu(MarkerNavigationWidget_1.TitleMenu, this._contextKeyService);\n createAndFillInActionBarActions(menu, undefined, actions);\n this._actionbarWidget.push(actions, { label: false, icon: true, index: 0 });\n menu.dispose();\n }\n _fillTitleIcon(container) {\n this._icon = dom.append(container, dom.$(''));\n }\n _fillBody(container) {\n this._parentContainer = container;\n container.classList.add('marker-widget');\n this._parentContainer.tabIndex = 0;\n this._parentContainer.setAttribute('role', 'tooltip');\n this._container = document.createElement('div');\n container.appendChild(this._container);\n this._message = new MessageWidget(this._container, this.editor, related => this._onDidSelectRelatedInformation.fire(related), this._openerService, this._labelService);\n this._disposables.add(this._message);\n }\n show() {\n throw new Error('call showAtMarker');\n }\n showAtMarker(marker, markerIdx, markerCount) {\n // update:\n // * title\n // * message\n this._container.classList.remove('stale');\n this._message.update(marker);\n // update frame color (only applied on 'show')\n this._severity = marker.severity;\n this._applyTheme(this._themeService.getColorTheme());\n // show\n const range = Range.lift(marker);\n const editorPosition = this.editor.getPosition();\n const position = editorPosition && range.containsPosition(editorPosition) ? editorPosition : range.getStartPosition();\n super.show(position, this.computeRequiredHeight());\n const model = this.editor.getModel();\n if (model) {\n const detail = markerCount > 1\n ? nls.localize('problems', \"{0} of {1} problems\", markerIdx, markerCount)\n : nls.localize('change', \"{0} of {1} problem\", markerIdx, markerCount);\n this.setTitle(basename(model.uri), detail);\n }\n this._icon.className = `codicon ${SeverityIcon.className(MarkerSeverity.toSeverity(this._severity))}`;\n this.editor.revealPositionNearTop(position, 0 /* ScrollType.Smooth */);\n this.editor.focus();\n }\n updateMarker(marker) {\n this._container.classList.remove('stale');\n this._message.update(marker);\n }\n showStale() {\n this._container.classList.add('stale');\n this._relayout();\n }\n _doLayoutBody(heightInPixel, widthInPixel) {\n super._doLayoutBody(heightInPixel, widthInPixel);\n this._heightInPixel = heightInPixel;\n this._message.layout(heightInPixel, widthInPixel);\n this._container.style.height = `${heightInPixel}px`;\n }\n _onWidth(widthInPixel) {\n this._message.layout(this._heightInPixel, widthInPixel);\n }\n _relayout() {\n super._relayout(this.computeRequiredHeight());\n }\n computeRequiredHeight() {\n return 3 + this._message.getHeightInLines();\n }\n};\nMarkerNavigationWidget.TitleMenu = new MenuId('gotoErrorTitleMenu');\nMarkerNavigationWidget = MarkerNavigationWidget_1 = __decorate([\n __param(1, IThemeService),\n __param(2, IOpenerService),\n __param(3, IMenuService),\n __param(4, IInstantiationService),\n __param(5, IContextKeyService),\n __param(6, ILabelService)\n], MarkerNavigationWidget);\nexport { MarkerNavigationWidget };\n// theming\nconst errorDefault = oneOf(editorErrorForeground, editorErrorBorder);\nconst warningDefault = oneOf(editorWarningForeground, editorWarningBorder);\nconst infoDefault = oneOf(editorInfoForeground, editorInfoBorder);\nconst editorMarkerNavigationError = registerColor('editorMarkerNavigationError.background', { dark: errorDefault, light: errorDefault, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize('editorMarkerNavigationError', 'Editor marker navigation widget error color.'));\nconst editorMarkerNavigationErrorHeader = registerColor('editorMarkerNavigationError.headerBackground', { dark: transparent(editorMarkerNavigationError, .1), light: transparent(editorMarkerNavigationError, .1), hcDark: null, hcLight: null }, nls.localize('editorMarkerNavigationErrorHeaderBackground', 'Editor marker navigation widget error heading background.'));\nconst editorMarkerNavigationWarning = registerColor('editorMarkerNavigationWarning.background', { dark: warningDefault, light: warningDefault, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize('editorMarkerNavigationWarning', 'Editor marker navigation widget warning color.'));\nconst editorMarkerNavigationWarningHeader = registerColor('editorMarkerNavigationWarning.headerBackground', { dark: transparent(editorMarkerNavigationWarning, .1), light: transparent(editorMarkerNavigationWarning, .1), hcDark: '#0C141F', hcLight: transparent(editorMarkerNavigationWarning, .2) }, nls.localize('editorMarkerNavigationWarningBackground', 'Editor marker navigation widget warning heading background.'));\nconst editorMarkerNavigationInfo = registerColor('editorMarkerNavigationInfo.background', { dark: infoDefault, light: infoDefault, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize('editorMarkerNavigationInfo', 'Editor marker navigation widget info color.'));\nconst editorMarkerNavigationInfoHeader = registerColor('editorMarkerNavigationInfo.headerBackground', { dark: transparent(editorMarkerNavigationInfo, .1), light: transparent(editorMarkerNavigationInfo, .1), hcDark: null, hcLight: null }, nls.localize('editorMarkerNavigationInfoHeaderBackground', 'Editor marker navigation widget info heading background.'));\nconst editorMarkerNavigationBackground = registerColor('editorMarkerNavigation.background', { dark: editorBackground, light: editorBackground, hcDark: editorBackground, hcLight: editorBackground }, nls.localize('editorMarkerNavigationBackground', 'Editor marker navigation widget background.'));\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 *--------------------------------------------------------------------------------------------*/\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};\nvar MarkerController_1;\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { EditorAction, EditorCommand, registerEditorAction, registerEditorCommand, registerEditorContribution } from '../../../browser/editorExtensions.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IMarkerNavigationService } from './markerNavigationService.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { MarkerNavigationWidget } from './gotoErrorWidget.js';\nlet MarkerController = MarkerController_1 = class MarkerController {\n static get(editor) {\n return editor.getContribution(MarkerController_1.ID);\n }\n constructor(editor, _markerNavigationService, _contextKeyService, _editorService, _instantiationService) {\n this._markerNavigationService = _markerNavigationService;\n this._contextKeyService = _contextKeyService;\n this._editorService = _editorService;\n this._instantiationService = _instantiationService;\n this._sessionDispoables = new DisposableStore();\n this._editor = editor;\n this._widgetVisible = CONTEXT_MARKERS_NAVIGATION_VISIBLE.bindTo(this._contextKeyService);\n }\n dispose() {\n this._cleanUp();\n this._sessionDispoables.dispose();\n }\n _cleanUp() {\n this._widgetVisible.reset();\n this._sessionDispoables.clear();\n this._widget = undefined;\n this._model = undefined;\n }\n _getOrCreateModel(uri) {\n if (this._model && this._model.matches(uri)) {\n return this._model;\n }\n let reusePosition = false;\n if (this._model) {\n reusePosition = true;\n this._cleanUp();\n }\n this._model = this._markerNavigationService.getMarkerList(uri);\n if (reusePosition) {\n this._model.move(true, this._editor.getModel(), this._editor.getPosition());\n }\n this._widget = this._instantiationService.createInstance(MarkerNavigationWidget, this._editor);\n this._widget.onDidClose(() => this.close(), this, this._sessionDispoables);\n this._widgetVisible.set(true);\n this._sessionDispoables.add(this._model);\n this._sessionDispoables.add(this._widget);\n // follow cursor\n this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(e => {\n var _a, _b, _c;\n if (!((_a = this._model) === null || _a === void 0 ? void 0 : _a.selected) || !Range.containsPosition((_b = this._model) === null || _b === void 0 ? void 0 : _b.selected.marker, e.position)) {\n (_c = this._model) === null || _c === void 0 ? void 0 : _c.resetIndex();\n }\n }));\n // update markers\n this._sessionDispoables.add(this._model.onDidChange(() => {\n if (!this._widget || !this._widget.position || !this._model) {\n return;\n }\n const info = this._model.find(this._editor.getModel().uri, this._widget.position);\n if (info) {\n this._widget.updateMarker(info.marker);\n }\n else {\n this._widget.showStale();\n }\n }));\n // open related\n this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(related => {\n this._editorService.openCodeEditor({\n resource: related.resource,\n options: { pinned: true, revealIfOpened: true, selection: Range.lift(related).collapseToStart() }\n }, this._editor);\n this.close(false);\n }));\n this._sessionDispoables.add(this._editor.onDidChangeModel(() => this._cleanUp()));\n return this._model;\n }\n close(focusEditor = true) {\n this._cleanUp();\n if (focusEditor) {\n this._editor.focus();\n }\n }\n showAtMarker(marker) {\n if (this._editor.hasModel()) {\n const model = this._getOrCreateModel(this._editor.getModel().uri);\n model.resetIndex();\n model.move(true, this._editor.getModel(), new Position(marker.startLineNumber, marker.startColumn));\n if (model.selected) {\n this._widget.showAtMarker(model.selected.marker, model.selected.index, model.selected.total);\n }\n }\n }\n async nagivate(next, multiFile) {\n var _a, _b;\n if (this._editor.hasModel()) {\n const model = this._getOrCreateModel(multiFile ? undefined : this._editor.getModel().uri);\n model.move(next, this._editor.getModel(), this._editor.getPosition());\n if (!model.selected) {\n return;\n }\n if (model.selected.marker.resource.toString() !== this._editor.getModel().uri.toString()) {\n // show in different editor\n this._cleanUp();\n const otherEditor = await this._editorService.openCodeEditor({\n resource: model.selected.marker.resource,\n options: { pinned: false, revealIfOpened: true, selectionRevealType: 2 /* TextEditorSelectionRevealType.NearTop */, selection: model.selected.marker }\n }, this._editor);\n if (otherEditor) {\n (_a = MarkerController_1.get(otherEditor)) === null || _a === void 0 ? void 0 : _a.close();\n (_b = MarkerController_1.get(otherEditor)) === null || _b === void 0 ? void 0 : _b.nagivate(next, multiFile);\n }\n }\n else {\n // show in this editor\n this._widget.showAtMarker(model.selected.marker, model.selected.index, model.selected.total);\n }\n }\n }\n};\nMarkerController.ID = 'editor.contrib.markerController';\nMarkerController = MarkerController_1 = __decorate([\n __param(1, IMarkerNavigationService),\n __param(2, IContextKeyService),\n __param(3, ICodeEditorService),\n __param(4, IInstantiationService)\n], MarkerController);\nexport { MarkerController };\nclass MarkerNavigationAction extends EditorAction {\n constructor(_next, _multiFile, opts) {\n super(opts);\n this._next = _next;\n this._multiFile = _multiFile;\n }\n async run(_accessor, editor) {\n var _a;\n if (editor.hasModel()) {\n (_a = MarkerController.get(editor)) === null || _a === void 0 ? void 0 : _a.nagivate(this._next, this._multiFile);\n }\n }\n}\nexport class NextMarkerAction extends MarkerNavigationAction {\n constructor() {\n super(true, false, {\n id: NextMarkerAction.ID,\n label: NextMarkerAction.LABEL,\n alias: 'Go to Next Problem (Error, Warning, Info)',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.focus,\n primary: 512 /* KeyMod.Alt */ | 66 /* KeyCode.F8 */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n },\n menuOpts: {\n menuId: MarkerNavigationWidget.TitleMenu,\n title: NextMarkerAction.LABEL,\n icon: registerIcon('marker-navigation-next', Codicon.arrowDown, nls.localize('nextMarkerIcon', 'Icon for goto next marker.')),\n group: 'navigation',\n order: 1\n }\n });\n }\n}\nNextMarkerAction.ID = 'editor.action.marker.next';\nNextMarkerAction.LABEL = nls.localize('markerAction.next.label', \"Go to Next Problem (Error, Warning, Info)\");\nclass PrevMarkerAction extends MarkerNavigationAction {\n constructor() {\n super(false, false, {\n id: PrevMarkerAction.ID,\n label: PrevMarkerAction.LABEL,\n alias: 'Go to Previous Problem (Error, Warning, Info)',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.focus,\n primary: 1024 /* KeyMod.Shift */ | 512 /* KeyMod.Alt */ | 66 /* KeyCode.F8 */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n },\n menuOpts: {\n menuId: MarkerNavigationWidget.TitleMenu,\n title: PrevMarkerAction.LABEL,\n icon: registerIcon('marker-navigation-previous', Codicon.arrowUp, nls.localize('previousMarkerIcon', 'Icon for goto previous marker.')),\n group: 'navigation',\n order: 2\n }\n });\n }\n}\nPrevMarkerAction.ID = 'editor.action.marker.prev';\nPrevMarkerAction.LABEL = nls.localize('markerAction.previous.label', \"Go to Previous Problem (Error, Warning, Info)\");\nclass NextMarkerInFilesAction extends MarkerNavigationAction {\n constructor() {\n super(true, true, {\n id: 'editor.action.marker.nextInFiles',\n label: nls.localize('markerAction.nextInFiles.label', \"Go to Next Problem in Files (Error, Warning, Info)\"),\n alias: 'Go to Next Problem in Files (Error, Warning, Info)',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.focus,\n primary: 66 /* KeyCode.F8 */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n },\n menuOpts: {\n menuId: MenuId.MenubarGoMenu,\n title: nls.localize({ key: 'miGotoNextProblem', comment: ['&& denotes a mnemonic'] }, \"Next &&Problem\"),\n group: '6_problem_nav',\n order: 1\n }\n });\n }\n}\nclass PrevMarkerInFilesAction extends MarkerNavigationAction {\n constructor() {\n super(false, true, {\n id: 'editor.action.marker.prevInFiles',\n label: nls.localize('markerAction.previousInFiles.label', \"Go to Previous Problem in Files (Error, Warning, Info)\"),\n alias: 'Go to Previous Problem in Files (Error, Warning, Info)',\n precondition: undefined,\n kbOpts: {\n kbExpr: EditorContextKeys.focus,\n primary: 1024 /* KeyMod.Shift */ | 66 /* KeyCode.F8 */,\n weight: 100 /* KeybindingWeight.EditorContrib */\n },\n menuOpts: {\n menuId: MenuId.MenubarGoMenu,\n title: nls.localize({ key: 'miGotoPreviousProblem', comment: ['&& denotes a mnemonic'] }, \"Previous &&Problem\"),\n group: '6_problem_nav',\n order: 2\n }\n });\n }\n}\nregisterEditorContribution(MarkerController.ID, MarkerController, 4 /* EditorContributionInstantiation.Lazy */);\nregisterEditorAction(NextMarkerAction);\nregisterEditorAction(PrevMarkerAction);\nregisterEditorAction(NextMarkerInFilesAction);\nregisterEditorAction(PrevMarkerInFilesAction);\nconst CONTEXT_MARKERS_NAVIGATION_VISIBLE = new RawContextKey('markersNavigationVisible', false);\nconst MarkerCommand = EditorCommand.bindToContribution(MarkerController.get);\nregisterEditorCommand(new MarkerCommand({\n id: 'closeMarkersNavigation',\n precondition: CONTEXT_MARKERS_NAVIGATION_VISIBLE,\n handler: x => x.close(),\n kbOpts: {\n weight: 100 /* KeybindingWeight.EditorContrib */ + 50,\n kbExpr: EditorContextKeys.focus,\n primary: 9 /* KeyCode.Escape */,\n secondary: [1024 /* KeyMod.Shift */ | 9 /* KeyCode.Escape */]\n }\n}));\n"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","MarkerCoordinate","constructor","marker","index","total","this","MarkerList","resourceFilter","_markerService","_configService","_onDidChange","onDidChange","event","_dispoables","_markers","_nextIdx","_resourceFilter","uri","toString","compareOrder","getValue","compareMarker","a","b","res","resource","severity","updateMarker","read","undefined","severities","filter","m","sort","add","onMarkerChanged","uris","some","fire","dispose","matches","selected","_initIdx","model","position","fwd","found","idx","findIndex","range","isEmpty","word","getWordAtPosition","getStartPosition","startLineNumber","startColumn","endColumn","containsPosition","isBeforeOrEqual","resetIndex","move","oldIdx","find","IMarkerNavigationService","MarkerNavigationService","_provider","getMarkerList","provider","result","MarkerNavigationWidget_1","MessageWidget","parent","editor","onRelatedInformation","_openerService","_labelService","_lines","_longestLineLength","_relatedDiagnostics","WeakMap","_disposables","_editor","domNode","document","createElement","className","_messageBlock","classList","setAttribute","appendChild","_relatedBlock","dom","preventDefault","related","get","_scrollable","horizontal","vertical","useShadows","horizontalScrollbarSize","verticalScrollbarSize","getDomNode","onScroll","e","style","left","scrollLeft","top","scrollTop","update","source","message","relatedInformation","code","sourceAndCodeLength","value","lines","line","Math","max","getAriaLabel","applyFontInfo","lastLineElement","innerText","height","lineHeight","detailsElement","sourceElement","codeElement","_codeLink","$","onclick","open","allowCommands","stopPropagation","relatedInformationNode","paddingTop","floor","getOption","container","relatedResource","getUriBasenameLabel","title","getUriLabel","set","relatedMessage","fontInfo","scrollWidth","ceil","typicalFullwidthCharacterWidth","scrollHeight","setScrollDimensions","layout","width","getHeightInLines","min","severityLabel","nls","ariaLabel","getModel","getLineCount","getLineContent","MarkerNavigationWidget","_themeService","_menuService","instantiationService","_contextKeyService","super","showArrow","showFrame","isAccessible","frameWidth","_callOnDispose","_onDidSelectRelatedInformation","onDidSelectRelatedInformation","_severity","_backgroundColor","_applyTheme","getColorTheme","onDidColorThemeChange","bind","create","theme","getColor","editorMarkerNavigationBackground","colorId","editorMarkerNavigationError","headerBackground","editorMarkerNavigationErrorHeader","editorMarkerNavigationWarning","editorMarkerNavigationWarningHeader","editorMarkerNavigationInfo","editorMarkerNavigationInfoHeader","frameColor","headerBg","arrowColor","headerBackgroundColor","primaryHeadingColor","peekView","secondaryHeadingColor","_applyStyles","_parentContainer","backgroundColor","_fillHead","_actionbarWidget","actionRunner","onWillRun","focus","actions","menu","createMenu","TitleMenu","push","label","icon","_fillTitleIcon","_icon","_fillBody","tabIndex","_container","_message","show","Error","showAtMarker","markerIdx","markerCount","remove","editorPosition","getPosition","computeRequiredHeight","detail","setTitle","revealPositionNearTop","showStale","_relayout","_doLayoutBody","heightInPixel","widthInPixel","_heightInPixel","_onWidth","errorDefault","warningDefault","infoDefault","dark","light","hcDark","hcLight","MarkerController_1","MarkerController","getContribution","ID","_markerNavigationService","_editorService","_instantiationService","_sessionDispoables","_widgetVisible","CONTEXT_MARKERS_NAVIGATION_VISIBLE","bindTo","_cleanUp","reset","clear","_widget","_model","_getOrCreateModel","reusePosition","createInstance","onDidClose","close","onDidChangeCursorPosition","_a","_b","_c","info","openCodeEditor","options","pinned","revealIfOpened","selection","collapseToStart","onDidChangeModel","focusEditor","hasModel","nagivate","next","multiFile","otherEditor","selectionRevealType","MarkerNavigationAction","_next","_multiFile","opts","run","_accessor","NextMarkerAction","id","LABEL","alias","precondition","kbOpts","kbExpr","primary","weight","menuOpts","menuId","group","order","PrevMarkerAction","comment","MarkerCommand","handler","x","secondary"],"sourceRoot":""}