{"version":3,"file":"static/js/7565_8d73c0d7a058f45cd25d.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/platform/label/common/label.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/layout/browser/layoutService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/list/browser/listService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/log/common/log.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/log/common/logService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/markers/common/markerService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/markers/common/markers.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/notification/common/notification.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/observable/common/platformObservableUtils.js"],"sourcesContent":["import { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const ILabelService = createDecorator('labelService');\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 { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const ILayoutService = createDecorator('layoutService');\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};\nimport { createStyleSheet, isActiveElement, isKeyboardEvent } from '../../../base/browser/dom.js';\nimport { PagedList } from '../../../base/browser/ui/list/listPaging.js';\nimport { DefaultStyleController, isSelectionRangeChangeEvent, isSelectionSingleChangeEvent, List, TypeNavigationMode } from '../../../base/browser/ui/list/listWidget.js';\nimport { Table } from '../../../base/browser/ui/table/tableWidget.js';\nimport { TreeFindMode, TreeFindMatchType } from '../../../base/browser/ui/tree/abstractTree.js';\nimport { AsyncDataTree, CompressibleAsyncDataTree } from '../../../base/browser/ui/tree/asyncDataTree.js';\nimport { DataTree } from '../../../base/browser/ui/tree/dataTree.js';\nimport { CompressibleObjectTree, ObjectTree } from '../../../base/browser/ui/tree/objectTree.js';\nimport { Emitter, Event } from '../../../base/common/event.js';\nimport { combinedDisposable, Disposable, DisposableStore, dispose, toDisposable } from '../../../base/common/lifecycle.js';\nimport { localize } from '../../../nls.js';\nimport { IConfigurationService } from '../../configuration/common/configuration.js';\nimport { Extensions as ConfigurationExtensions } from '../../configuration/common/configurationRegistry.js';\nimport { ContextKeyExpr, IContextKeyService, RawContextKey } from '../../contextkey/common/contextkey.js';\nimport { InputFocusedContextKey } from '../../contextkey/common/contextkeys.js';\nimport { IContextViewService } from '../../contextview/browser/contextView.js';\nimport { createDecorator, IInstantiationService } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../keybinding/common/keybinding.js';\nimport { Registry } from '../../registry/common/platform.js';\nimport { defaultFindWidgetStyles, defaultListStyles, getListStyles } from '../../theme/browser/defaultStyles.js';\nexport const IListService = createDecorator('listService');\nexport class ListService {\n get lastFocusedList() {\n return this._lastFocusedWidget;\n }\n constructor() {\n this.disposables = new DisposableStore();\n this.lists = [];\n this._lastFocusedWidget = undefined;\n this._hasCreatedStyleController = false;\n }\n setLastFocusedList(widget) {\n var _a, _b;\n if (widget === this._lastFocusedWidget) {\n return;\n }\n (_a = this._lastFocusedWidget) === null || _a === void 0 ? void 0 : _a.getHTMLElement().classList.remove('last-focused');\n this._lastFocusedWidget = widget;\n (_b = this._lastFocusedWidget) === null || _b === void 0 ? void 0 : _b.getHTMLElement().classList.add('last-focused');\n }\n register(widget, extraContextKeys) {\n if (!this._hasCreatedStyleController) {\n this._hasCreatedStyleController = true;\n // create a shared default tree style sheet for performance reasons\n const styleController = new DefaultStyleController(createStyleSheet(), '');\n styleController.style(defaultListStyles);\n }\n if (this.lists.some(l => l.widget === widget)) {\n throw new Error('Cannot register the same widget multiple times');\n }\n // Keep in our lists list\n const registeredList = { widget, extraContextKeys };\n this.lists.push(registeredList);\n // Check for currently being focused\n if (isActiveElement(widget.getHTMLElement())) {\n this.setLastFocusedList(widget);\n }\n return combinedDisposable(widget.onDidFocus(() => this.setLastFocusedList(widget)), toDisposable(() => this.lists.splice(this.lists.indexOf(registeredList), 1)), widget.onDidDispose(() => {\n this.lists = this.lists.filter(l => l !== registeredList);\n if (this._lastFocusedWidget === widget) {\n this.setLastFocusedList(undefined);\n }\n }));\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nexport const RawWorkbenchListScrollAtBoundaryContextKey = new RawContextKey('listScrollAtBoundary', 'none');\nexport const WorkbenchListScrollAtTopContextKey = ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo('top'), RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo('both'));\nexport const WorkbenchListScrollAtBottomContextKey = ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo('bottom'), RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo('both'));\nexport const RawWorkbenchListFocusContextKey = new RawContextKey('listFocus', true);\nexport const WorkbenchTreeStickyScrollFocused = new RawContextKey('treestickyScrollFocused', false);\nexport const WorkbenchListSupportsMultiSelectContextKey = new RawContextKey('listSupportsMultiselect', true);\nexport const WorkbenchListFocusContextKey = ContextKeyExpr.and(RawWorkbenchListFocusContextKey, ContextKeyExpr.not(InputFocusedContextKey), WorkbenchTreeStickyScrollFocused.negate());\nexport const WorkbenchListHasSelectionOrFocus = new RawContextKey('listHasSelectionOrFocus', false);\nexport const WorkbenchListDoubleSelection = new RawContextKey('listDoubleSelection', false);\nexport const WorkbenchListMultiSelection = new RawContextKey('listMultiSelection', false);\nexport const WorkbenchListSelectionNavigation = new RawContextKey('listSelectionNavigation', false);\nexport const WorkbenchListSupportsFind = new RawContextKey('listSupportsFind', true);\nexport const WorkbenchTreeElementCanCollapse = new RawContextKey('treeElementCanCollapse', false);\nexport const WorkbenchTreeElementHasParent = new RawContextKey('treeElementHasParent', false);\nexport const WorkbenchTreeElementCanExpand = new RawContextKey('treeElementCanExpand', false);\nexport const WorkbenchTreeElementHasChild = new RawContextKey('treeElementHasChild', false);\nexport const WorkbenchTreeFindOpen = new RawContextKey('treeFindOpen', false);\nconst WorkbenchListTypeNavigationModeKey = 'listTypeNavigationMode';\n/**\n * @deprecated in favor of WorkbenchListTypeNavigationModeKey\n */\nconst WorkbenchListAutomaticKeyboardNavigationLegacyKey = 'listAutomaticKeyboardNavigation';\nfunction createScopedContextKeyService(contextKeyService, widget) {\n const result = contextKeyService.createScoped(widget.getHTMLElement());\n RawWorkbenchListFocusContextKey.bindTo(result);\n return result;\n}\nfunction createScrollObserver(contextKeyService, widget) {\n const listScrollAt = RawWorkbenchListScrollAtBoundaryContextKey.bindTo(contextKeyService);\n const update = () => {\n const atTop = widget.scrollTop === 0;\n // We need a threshold `1` since scrollHeight is rounded.\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#determine_if_an_element_has_been_totally_scrolled\n const atBottom = widget.scrollHeight - widget.renderHeight - widget.scrollTop < 1;\n if (atTop && atBottom) {\n listScrollAt.set('both');\n }\n else if (atTop) {\n listScrollAt.set('top');\n }\n else if (atBottom) {\n listScrollAt.set('bottom');\n }\n else {\n listScrollAt.set('none');\n }\n };\n update();\n return widget.onDidScroll(update);\n}\nconst multiSelectModifierSettingKey = 'workbench.list.multiSelectModifier';\nconst openModeSettingKey = 'workbench.list.openMode';\nconst horizontalScrollingKey = 'workbench.list.horizontalScrolling';\nconst defaultFindModeSettingKey = 'workbench.list.defaultFindMode';\nconst typeNavigationModeSettingKey = 'workbench.list.typeNavigationMode';\n/** @deprecated in favor of `workbench.list.defaultFindMode` and `workbench.list.typeNavigationMode` */\nconst keyboardNavigationSettingKey = 'workbench.list.keyboardNavigation';\nconst scrollByPageKey = 'workbench.list.scrollByPage';\nconst defaultFindMatchTypeSettingKey = 'workbench.list.defaultFindMatchType';\nconst treeIndentKey = 'workbench.tree.indent';\nconst treeRenderIndentGuidesKey = 'workbench.tree.renderIndentGuides';\nconst listSmoothScrolling = 'workbench.list.smoothScrolling';\nconst mouseWheelScrollSensitivityKey = 'workbench.list.mouseWheelScrollSensitivity';\nconst fastScrollSensitivityKey = 'workbench.list.fastScrollSensitivity';\nconst treeExpandMode = 'workbench.tree.expandMode';\nconst treeStickyScroll = 'workbench.tree.enableStickyScroll';\nconst treeStickyScrollMaxElements = 'workbench.tree.stickyScrollMaxItemCount';\nfunction useAltAsMultipleSelectionModifier(configurationService) {\n return configurationService.getValue(multiSelectModifierSettingKey) === 'alt';\n}\nclass MultipleSelectionController extends Disposable {\n constructor(configurationService) {\n super();\n this.configurationService = configurationService;\n this.useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n this.registerListeners();\n }\n registerListeners() {\n this._register(this.configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration(multiSelectModifierSettingKey)) {\n this.useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(this.configurationService);\n }\n }));\n }\n isSelectionSingleChangeEvent(event) {\n if (this.useAltAsMultipleSelectionModifier) {\n return event.browserEvent.altKey;\n }\n return isSelectionSingleChangeEvent(event);\n }\n isSelectionRangeChangeEvent(event) {\n return isSelectionRangeChangeEvent(event);\n }\n}\nfunction toWorkbenchListOptions(accessor, options) {\n var _a;\n const configurationService = accessor.get(IConfigurationService);\n const keybindingService = accessor.get(IKeybindingService);\n const disposables = new DisposableStore();\n const result = {\n ...options,\n keyboardNavigationDelegate: { mightProducePrintableCharacter(e) { return keybindingService.mightProducePrintableCharacter(e); } },\n smoothScrolling: Boolean(configurationService.getValue(listSmoothScrolling)),\n mouseWheelScrollSensitivity: configurationService.getValue(mouseWheelScrollSensitivityKey),\n fastScrollSensitivity: configurationService.getValue(fastScrollSensitivityKey),\n multipleSelectionController: (_a = options.multipleSelectionController) !== null && _a !== void 0 ? _a : disposables.add(new MultipleSelectionController(configurationService)),\n keyboardNavigationEventFilter: createKeyboardNavigationEventFilter(keybindingService),\n scrollByPage: Boolean(configurationService.getValue(scrollByPageKey))\n };\n return [result, disposables];\n}\nlet WorkbenchList = class WorkbenchList extends List {\n constructor(user, container, delegate, renderers, options, contextKeyService, listService, configurationService, instantiationService) {\n const horizontalScrolling = typeof options.horizontalScrolling !== 'undefined' ? options.horizontalScrolling : Boolean(configurationService.getValue(horizontalScrollingKey));\n const [workbenchListOptions, workbenchListOptionsDisposable] = instantiationService.invokeFunction(toWorkbenchListOptions, options);\n super(user, container, delegate, renderers, {\n keyboardSupport: false,\n ...workbenchListOptions,\n horizontalScrolling,\n });\n this.disposables.add(workbenchListOptionsDisposable);\n this.contextKeyService = createScopedContextKeyService(contextKeyService, this);\n this.disposables.add(createScrollObserver(this.contextKeyService, this));\n this.listSupportsMultiSelect = WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);\n this.listSupportsMultiSelect.set(options.multipleSelectionSupport !== false);\n const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);\n listSelectionNavigation.set(Boolean(options.selectionNavigation));\n this.listHasSelectionOrFocus = WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);\n this.listDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService);\n this.listMultiSelection = WorkbenchListMultiSelection.bindTo(this.contextKeyService);\n this.horizontalScrolling = options.horizontalScrolling;\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n this.disposables.add(this.contextKeyService);\n this.disposables.add(listService.register(this));\n this.updateStyles(options.overrideStyles);\n this.disposables.add(this.onDidChangeSelection(() => {\n const selection = this.getSelection();\n const focus = this.getFocus();\n this.contextKeyService.bufferChangeEvents(() => {\n this.listHasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n this.listMultiSelection.set(selection.length > 1);\n this.listDoubleSelection.set(selection.length === 2);\n });\n }));\n this.disposables.add(this.onDidChangeFocus(() => {\n const selection = this.getSelection();\n const focus = this.getFocus();\n this.listHasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n }));\n this.disposables.add(configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration(multiSelectModifierSettingKey)) {\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n }\n let options = {};\n if (e.affectsConfiguration(horizontalScrollingKey) && this.horizontalScrolling === undefined) {\n const horizontalScrolling = Boolean(configurationService.getValue(horizontalScrollingKey));\n options = { ...options, horizontalScrolling };\n }\n if (e.affectsConfiguration(scrollByPageKey)) {\n const scrollByPage = Boolean(configurationService.getValue(scrollByPageKey));\n options = { ...options, scrollByPage };\n }\n if (e.affectsConfiguration(listSmoothScrolling)) {\n const smoothScrolling = Boolean(configurationService.getValue(listSmoothScrolling));\n options = { ...options, smoothScrolling };\n }\n if (e.affectsConfiguration(mouseWheelScrollSensitivityKey)) {\n const mouseWheelScrollSensitivity = configurationService.getValue(mouseWheelScrollSensitivityKey);\n options = { ...options, mouseWheelScrollSensitivity };\n }\n if (e.affectsConfiguration(fastScrollSensitivityKey)) {\n const fastScrollSensitivity = configurationService.getValue(fastScrollSensitivityKey);\n options = { ...options, fastScrollSensitivity };\n }\n if (Object.keys(options).length > 0) {\n this.updateOptions(options);\n }\n }));\n this.navigator = new ListResourceNavigator(this, { configurationService, ...options });\n this.disposables.add(this.navigator);\n }\n updateOptions(options) {\n super.updateOptions(options);\n if (options.overrideStyles !== undefined) {\n this.updateStyles(options.overrideStyles);\n }\n if (options.multipleSelectionSupport !== undefined) {\n this.listSupportsMultiSelect.set(!!options.multipleSelectionSupport);\n }\n }\n updateStyles(styles) {\n this.style(styles ? getListStyles(styles) : defaultListStyles);\n }\n};\nWorkbenchList = __decorate([\n __param(5, IContextKeyService),\n __param(6, IListService),\n __param(7, IConfigurationService),\n __param(8, IInstantiationService)\n], WorkbenchList);\nexport { WorkbenchList };\nlet WorkbenchPagedList = class WorkbenchPagedList extends PagedList {\n constructor(user, container, delegate, renderers, options, contextKeyService, listService, configurationService, instantiationService) {\n const horizontalScrolling = typeof options.horizontalScrolling !== 'undefined' ? options.horizontalScrolling : Boolean(configurationService.getValue(horizontalScrollingKey));\n const [workbenchListOptions, workbenchListOptionsDisposable] = instantiationService.invokeFunction(toWorkbenchListOptions, options);\n super(user, container, delegate, renderers, {\n keyboardSupport: false,\n ...workbenchListOptions,\n horizontalScrolling,\n });\n this.disposables = new DisposableStore();\n this.disposables.add(workbenchListOptionsDisposable);\n this.contextKeyService = createScopedContextKeyService(contextKeyService, this);\n this.disposables.add(createScrollObserver(this.contextKeyService, this.widget));\n this.horizontalScrolling = options.horizontalScrolling;\n this.listSupportsMultiSelect = WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);\n this.listSupportsMultiSelect.set(options.multipleSelectionSupport !== false);\n const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);\n listSelectionNavigation.set(Boolean(options.selectionNavigation));\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n this.disposables.add(this.contextKeyService);\n this.disposables.add(listService.register(this));\n this.updateStyles(options.overrideStyles);\n this.disposables.add(configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration(multiSelectModifierSettingKey)) {\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n }\n let options = {};\n if (e.affectsConfiguration(horizontalScrollingKey) && this.horizontalScrolling === undefined) {\n const horizontalScrolling = Boolean(configurationService.getValue(horizontalScrollingKey));\n options = { ...options, horizontalScrolling };\n }\n if (e.affectsConfiguration(scrollByPageKey)) {\n const scrollByPage = Boolean(configurationService.getValue(scrollByPageKey));\n options = { ...options, scrollByPage };\n }\n if (e.affectsConfiguration(listSmoothScrolling)) {\n const smoothScrolling = Boolean(configurationService.getValue(listSmoothScrolling));\n options = { ...options, smoothScrolling };\n }\n if (e.affectsConfiguration(mouseWheelScrollSensitivityKey)) {\n const mouseWheelScrollSensitivity = configurationService.getValue(mouseWheelScrollSensitivityKey);\n options = { ...options, mouseWheelScrollSensitivity };\n }\n if (e.affectsConfiguration(fastScrollSensitivityKey)) {\n const fastScrollSensitivity = configurationService.getValue(fastScrollSensitivityKey);\n options = { ...options, fastScrollSensitivity };\n }\n if (Object.keys(options).length > 0) {\n this.updateOptions(options);\n }\n }));\n this.navigator = new ListResourceNavigator(this, { configurationService, ...options });\n this.disposables.add(this.navigator);\n }\n updateOptions(options) {\n super.updateOptions(options);\n if (options.overrideStyles !== undefined) {\n this.updateStyles(options.overrideStyles);\n }\n if (options.multipleSelectionSupport !== undefined) {\n this.listSupportsMultiSelect.set(!!options.multipleSelectionSupport);\n }\n }\n updateStyles(styles) {\n this.style(styles ? getListStyles(styles) : defaultListStyles);\n }\n dispose() {\n this.disposables.dispose();\n super.dispose();\n }\n};\nWorkbenchPagedList = __decorate([\n __param(5, IContextKeyService),\n __param(6, IListService),\n __param(7, IConfigurationService),\n __param(8, IInstantiationService)\n], WorkbenchPagedList);\nexport { WorkbenchPagedList };\nlet WorkbenchTable = class WorkbenchTable extends Table {\n constructor(user, container, delegate, columns, renderers, options, contextKeyService, listService, configurationService, instantiationService) {\n const horizontalScrolling = typeof options.horizontalScrolling !== 'undefined' ? options.horizontalScrolling : Boolean(configurationService.getValue(horizontalScrollingKey));\n const [workbenchListOptions, workbenchListOptionsDisposable] = instantiationService.invokeFunction(toWorkbenchListOptions, options);\n super(user, container, delegate, columns, renderers, {\n keyboardSupport: false,\n ...workbenchListOptions,\n horizontalScrolling,\n });\n this.disposables.add(workbenchListOptionsDisposable);\n this.contextKeyService = createScopedContextKeyService(contextKeyService, this);\n this.disposables.add(createScrollObserver(this.contextKeyService, this));\n this.listSupportsMultiSelect = WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);\n this.listSupportsMultiSelect.set(options.multipleSelectionSupport !== false);\n const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);\n listSelectionNavigation.set(Boolean(options.selectionNavigation));\n this.listHasSelectionOrFocus = WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);\n this.listDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService);\n this.listMultiSelection = WorkbenchListMultiSelection.bindTo(this.contextKeyService);\n this.horizontalScrolling = options.horizontalScrolling;\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n this.disposables.add(this.contextKeyService);\n this.disposables.add(listService.register(this));\n this.updateStyles(options.overrideStyles);\n this.disposables.add(this.onDidChangeSelection(() => {\n const selection = this.getSelection();\n const focus = this.getFocus();\n this.contextKeyService.bufferChangeEvents(() => {\n this.listHasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n this.listMultiSelection.set(selection.length > 1);\n this.listDoubleSelection.set(selection.length === 2);\n });\n }));\n this.disposables.add(this.onDidChangeFocus(() => {\n const selection = this.getSelection();\n const focus = this.getFocus();\n this.listHasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n }));\n this.disposables.add(configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration(multiSelectModifierSettingKey)) {\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n }\n let options = {};\n if (e.affectsConfiguration(horizontalScrollingKey) && this.horizontalScrolling === undefined) {\n const horizontalScrolling = Boolean(configurationService.getValue(horizontalScrollingKey));\n options = { ...options, horizontalScrolling };\n }\n if (e.affectsConfiguration(scrollByPageKey)) {\n const scrollByPage = Boolean(configurationService.getValue(scrollByPageKey));\n options = { ...options, scrollByPage };\n }\n if (e.affectsConfiguration(listSmoothScrolling)) {\n const smoothScrolling = Boolean(configurationService.getValue(listSmoothScrolling));\n options = { ...options, smoothScrolling };\n }\n if (e.affectsConfiguration(mouseWheelScrollSensitivityKey)) {\n const mouseWheelScrollSensitivity = configurationService.getValue(mouseWheelScrollSensitivityKey);\n options = { ...options, mouseWheelScrollSensitivity };\n }\n if (e.affectsConfiguration(fastScrollSensitivityKey)) {\n const fastScrollSensitivity = configurationService.getValue(fastScrollSensitivityKey);\n options = { ...options, fastScrollSensitivity };\n }\n if (Object.keys(options).length > 0) {\n this.updateOptions(options);\n }\n }));\n this.navigator = new TableResourceNavigator(this, { configurationService, ...options });\n this.disposables.add(this.navigator);\n }\n updateOptions(options) {\n super.updateOptions(options);\n if (options.overrideStyles !== undefined) {\n this.updateStyles(options.overrideStyles);\n }\n if (options.multipleSelectionSupport !== undefined) {\n this.listSupportsMultiSelect.set(!!options.multipleSelectionSupport);\n }\n }\n updateStyles(styles) {\n this.style(styles ? getListStyles(styles) : defaultListStyles);\n }\n dispose() {\n this.disposables.dispose();\n super.dispose();\n }\n};\nWorkbenchTable = __decorate([\n __param(6, IContextKeyService),\n __param(7, IListService),\n __param(8, IConfigurationService),\n __param(9, IInstantiationService)\n], WorkbenchTable);\nexport { WorkbenchTable };\nclass ResourceNavigator extends Disposable {\n constructor(widget, options) {\n var _a;\n super();\n this.widget = widget;\n this._onDidOpen = this._register(new Emitter());\n this.onDidOpen = this._onDidOpen.event;\n this._register(Event.filter(this.widget.onDidChangeSelection, e => isKeyboardEvent(e.browserEvent))(e => this.onSelectionFromKeyboard(e)));\n this._register(this.widget.onPointer((e) => this.onPointer(e.element, e.browserEvent)));\n this._register(this.widget.onMouseDblClick((e) => this.onMouseDblClick(e.element, e.browserEvent)));\n if (typeof (options === null || options === void 0 ? void 0 : options.openOnSingleClick) !== 'boolean' && (options === null || options === void 0 ? void 0 : options.configurationService)) {\n this.openOnSingleClick = (options === null || options === void 0 ? void 0 : options.configurationService.getValue(openModeSettingKey)) !== 'doubleClick';\n this._register(options === null || options === void 0 ? void 0 : options.configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration(openModeSettingKey)) {\n this.openOnSingleClick = (options === null || options === void 0 ? void 0 : options.configurationService.getValue(openModeSettingKey)) !== 'doubleClick';\n }\n }));\n }\n else {\n this.openOnSingleClick = (_a = options === null || options === void 0 ? void 0 : options.openOnSingleClick) !== null && _a !== void 0 ? _a : true;\n }\n }\n onSelectionFromKeyboard(event) {\n if (event.elements.length !== 1) {\n return;\n }\n const selectionKeyboardEvent = event.browserEvent;\n const preserveFocus = typeof selectionKeyboardEvent.preserveFocus === 'boolean' ? selectionKeyboardEvent.preserveFocus : true;\n const pinned = typeof selectionKeyboardEvent.pinned === 'boolean' ? selectionKeyboardEvent.pinned : !preserveFocus;\n const sideBySide = false;\n this._open(this.getSelectedElement(), preserveFocus, pinned, sideBySide, event.browserEvent);\n }\n onPointer(element, browserEvent) {\n if (!this.openOnSingleClick) {\n return;\n }\n const isDoubleClick = browserEvent.detail === 2;\n if (isDoubleClick) {\n return;\n }\n const isMiddleClick = browserEvent.button === 1;\n const preserveFocus = true;\n const pinned = isMiddleClick;\n const sideBySide = browserEvent.ctrlKey || browserEvent.metaKey || browserEvent.altKey;\n this._open(element, preserveFocus, pinned, sideBySide, browserEvent);\n }\n onMouseDblClick(element, browserEvent) {\n if (!browserEvent) {\n return;\n }\n // copied from AbstractTree\n const target = browserEvent.target;\n const onTwistie = target.classList.contains('monaco-tl-twistie')\n || (target.classList.contains('monaco-icon-label') && target.classList.contains('folder-icon') && browserEvent.offsetX < 16);\n if (onTwistie) {\n return;\n }\n const preserveFocus = false;\n const pinned = true;\n const sideBySide = (browserEvent.ctrlKey || browserEvent.metaKey || browserEvent.altKey);\n this._open(element, preserveFocus, pinned, sideBySide, browserEvent);\n }\n _open(element, preserveFocus, pinned, sideBySide, browserEvent) {\n if (!element) {\n return;\n }\n this._onDidOpen.fire({\n editorOptions: {\n preserveFocus,\n pinned,\n revealIfVisible: true\n },\n sideBySide,\n element,\n browserEvent\n });\n }\n}\nclass ListResourceNavigator extends ResourceNavigator {\n constructor(widget, options) {\n super(widget, options);\n this.widget = widget;\n }\n getSelectedElement() {\n return this.widget.getSelectedElements()[0];\n }\n}\nclass TableResourceNavigator extends ResourceNavigator {\n constructor(widget, options) {\n super(widget, options);\n }\n getSelectedElement() {\n return this.widget.getSelectedElements()[0];\n }\n}\nclass TreeResourceNavigator extends ResourceNavigator {\n constructor(widget, options) {\n super(widget, options);\n }\n getSelectedElement() {\n var _a;\n return (_a = this.widget.getSelection()[0]) !== null && _a !== void 0 ? _a : undefined;\n }\n}\nfunction createKeyboardNavigationEventFilter(keybindingService) {\n let inMultiChord = false;\n return event => {\n if (event.toKeyCodeChord().isModifierKey()) {\n return false;\n }\n if (inMultiChord) {\n inMultiChord = false;\n return false;\n }\n const result = keybindingService.softDispatch(event, event.target);\n if (result.kind === 1 /* ResultKind.MoreChordsNeeded */) {\n inMultiChord = true;\n return false;\n }\n inMultiChord = false;\n return result.kind === 0 /* ResultKind.NoMatchingKb */;\n };\n}\nlet WorkbenchObjectTree = class WorkbenchObjectTree extends ObjectTree {\n constructor(user, container, delegate, renderers, options, instantiationService, contextKeyService, listService, configurationService) {\n const { options: treeOptions, getTypeNavigationMode, disposable } = instantiationService.invokeFunction(workbenchTreeDataPreamble, options);\n super(user, container, delegate, renderers, treeOptions);\n this.disposables.add(disposable);\n this.internals = new WorkbenchTreeInternals(this, options, getTypeNavigationMode, options.overrideStyles, contextKeyService, listService, configurationService);\n this.disposables.add(this.internals);\n }\n updateOptions(options) {\n super.updateOptions(options);\n this.internals.updateOptions(options);\n }\n};\nWorkbenchObjectTree = __decorate([\n __param(5, IInstantiationService),\n __param(6, IContextKeyService),\n __param(7, IListService),\n __param(8, IConfigurationService)\n], WorkbenchObjectTree);\nexport { WorkbenchObjectTree };\nlet WorkbenchCompressibleObjectTree = class WorkbenchCompressibleObjectTree extends CompressibleObjectTree {\n constructor(user, container, delegate, renderers, options, instantiationService, contextKeyService, listService, configurationService) {\n const { options: treeOptions, getTypeNavigationMode, disposable } = instantiationService.invokeFunction(workbenchTreeDataPreamble, options);\n super(user, container, delegate, renderers, treeOptions);\n this.disposables.add(disposable);\n this.internals = new WorkbenchTreeInternals(this, options, getTypeNavigationMode, options.overrideStyles, contextKeyService, listService, configurationService);\n this.disposables.add(this.internals);\n }\n updateOptions(options = {}) {\n super.updateOptions(options);\n if (options.overrideStyles) {\n this.internals.updateStyleOverrides(options.overrideStyles);\n }\n this.internals.updateOptions(options);\n }\n};\nWorkbenchCompressibleObjectTree = __decorate([\n __param(5, IInstantiationService),\n __param(6, IContextKeyService),\n __param(7, IListService),\n __param(8, IConfigurationService)\n], WorkbenchCompressibleObjectTree);\nexport { WorkbenchCompressibleObjectTree };\nlet WorkbenchDataTree = class WorkbenchDataTree extends DataTree {\n constructor(user, container, delegate, renderers, dataSource, options, instantiationService, contextKeyService, listService, configurationService) {\n const { options: treeOptions, getTypeNavigationMode, disposable } = instantiationService.invokeFunction(workbenchTreeDataPreamble, options);\n super(user, container, delegate, renderers, dataSource, treeOptions);\n this.disposables.add(disposable);\n this.internals = new WorkbenchTreeInternals(this, options, getTypeNavigationMode, options.overrideStyles, contextKeyService, listService, configurationService);\n this.disposables.add(this.internals);\n }\n updateOptions(options = {}) {\n super.updateOptions(options);\n if (options.overrideStyles !== undefined) {\n this.internals.updateStyleOverrides(options.overrideStyles);\n }\n this.internals.updateOptions(options);\n }\n};\nWorkbenchDataTree = __decorate([\n __param(6, IInstantiationService),\n __param(7, IContextKeyService),\n __param(8, IListService),\n __param(9, IConfigurationService)\n], WorkbenchDataTree);\nexport { WorkbenchDataTree };\nlet WorkbenchAsyncDataTree = class WorkbenchAsyncDataTree extends AsyncDataTree {\n get onDidOpen() { return this.internals.onDidOpen; }\n constructor(user, container, delegate, renderers, dataSource, options, instantiationService, contextKeyService, listService, configurationService) {\n const { options: treeOptions, getTypeNavigationMode, disposable } = instantiationService.invokeFunction(workbenchTreeDataPreamble, options);\n super(user, container, delegate, renderers, dataSource, treeOptions);\n this.disposables.add(disposable);\n this.internals = new WorkbenchTreeInternals(this, options, getTypeNavigationMode, options.overrideStyles, contextKeyService, listService, configurationService);\n this.disposables.add(this.internals);\n }\n updateOptions(options = {}) {\n super.updateOptions(options);\n if (options.overrideStyles) {\n this.internals.updateStyleOverrides(options.overrideStyles);\n }\n this.internals.updateOptions(options);\n }\n};\nWorkbenchAsyncDataTree = __decorate([\n __param(6, IInstantiationService),\n __param(7, IContextKeyService),\n __param(8, IListService),\n __param(9, IConfigurationService)\n], WorkbenchAsyncDataTree);\nexport { WorkbenchAsyncDataTree };\nlet WorkbenchCompressibleAsyncDataTree = class WorkbenchCompressibleAsyncDataTree extends CompressibleAsyncDataTree {\n constructor(user, container, virtualDelegate, compressionDelegate, renderers, dataSource, options, instantiationService, contextKeyService, listService, configurationService) {\n const { options: treeOptions, getTypeNavigationMode, disposable } = instantiationService.invokeFunction(workbenchTreeDataPreamble, options);\n super(user, container, virtualDelegate, compressionDelegate, renderers, dataSource, treeOptions);\n this.disposables.add(disposable);\n this.internals = new WorkbenchTreeInternals(this, options, getTypeNavigationMode, options.overrideStyles, contextKeyService, listService, configurationService);\n this.disposables.add(this.internals);\n }\n updateOptions(options) {\n super.updateOptions(options);\n this.internals.updateOptions(options);\n }\n};\nWorkbenchCompressibleAsyncDataTree = __decorate([\n __param(7, IInstantiationService),\n __param(8, IContextKeyService),\n __param(9, IListService),\n __param(10, IConfigurationService)\n], WorkbenchCompressibleAsyncDataTree);\nexport { WorkbenchCompressibleAsyncDataTree };\nfunction getDefaultTreeFindMode(configurationService) {\n const value = configurationService.getValue(defaultFindModeSettingKey);\n if (value === 'highlight') {\n return TreeFindMode.Highlight;\n }\n else if (value === 'filter') {\n return TreeFindMode.Filter;\n }\n const deprecatedValue = configurationService.getValue(keyboardNavigationSettingKey);\n if (deprecatedValue === 'simple' || deprecatedValue === 'highlight') {\n return TreeFindMode.Highlight;\n }\n else if (deprecatedValue === 'filter') {\n return TreeFindMode.Filter;\n }\n return undefined;\n}\nfunction getDefaultTreeFindMatchType(configurationService) {\n const value = configurationService.getValue(defaultFindMatchTypeSettingKey);\n if (value === 'fuzzy') {\n return TreeFindMatchType.Fuzzy;\n }\n else if (value === 'contiguous') {\n return TreeFindMatchType.Contiguous;\n }\n return undefined;\n}\nfunction workbenchTreeDataPreamble(accessor, options) {\n var _a;\n const configurationService = accessor.get(IConfigurationService);\n const contextViewService = accessor.get(IContextViewService);\n const contextKeyService = accessor.get(IContextKeyService);\n const instantiationService = accessor.get(IInstantiationService);\n const getTypeNavigationMode = () => {\n // give priority to the context key value to specify a value\n const modeString = contextKeyService.getContextKeyValue(WorkbenchListTypeNavigationModeKey);\n if (modeString === 'automatic') {\n return TypeNavigationMode.Automatic;\n }\n else if (modeString === 'trigger') {\n return TypeNavigationMode.Trigger;\n }\n // also check the deprecated context key to set the mode to 'trigger'\n const modeBoolean = contextKeyService.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey);\n if (modeBoolean === false) {\n return TypeNavigationMode.Trigger;\n }\n // finally, check the setting\n const configString = configurationService.getValue(typeNavigationModeSettingKey);\n if (configString === 'automatic') {\n return TypeNavigationMode.Automatic;\n }\n else if (configString === 'trigger') {\n return TypeNavigationMode.Trigger;\n }\n return undefined;\n };\n const horizontalScrolling = options.horizontalScrolling !== undefined ? options.horizontalScrolling : Boolean(configurationService.getValue(horizontalScrollingKey));\n const [workbenchListOptions, disposable] = instantiationService.invokeFunction(toWorkbenchListOptions, options);\n const paddingBottom = options.paddingBottom;\n const renderIndentGuides = options.renderIndentGuides !== undefined ? options.renderIndentGuides : configurationService.getValue(treeRenderIndentGuidesKey);\n return {\n getTypeNavigationMode,\n disposable,\n options: {\n // ...options, // TODO@Joao why is this not splatted here?\n keyboardSupport: false,\n ...workbenchListOptions,\n indent: typeof configurationService.getValue(treeIndentKey) === 'number' ? configurationService.getValue(treeIndentKey) : undefined,\n renderIndentGuides,\n smoothScrolling: Boolean(configurationService.getValue(listSmoothScrolling)),\n defaultFindMode: getDefaultTreeFindMode(configurationService),\n defaultFindMatchType: getDefaultTreeFindMatchType(configurationService),\n horizontalScrolling,\n scrollByPage: Boolean(configurationService.getValue(scrollByPageKey)),\n paddingBottom: paddingBottom,\n hideTwistiesOfChildlessElements: options.hideTwistiesOfChildlessElements,\n expandOnlyOnTwistieClick: (_a = options.expandOnlyOnTwistieClick) !== null && _a !== void 0 ? _a : (configurationService.getValue(treeExpandMode) === 'doubleClick'),\n contextViewProvider: contextViewService,\n findWidgetStyles: defaultFindWidgetStyles,\n enableStickyScroll: Boolean(configurationService.getValue(treeStickyScroll)),\n stickyScrollMaxItemCount: Number(configurationService.getValue(treeStickyScrollMaxElements)),\n }\n };\n}\nlet WorkbenchTreeInternals = class WorkbenchTreeInternals {\n get onDidOpen() { return this.navigator.onDidOpen; }\n constructor(tree, options, getTypeNavigationMode, overrideStyles, contextKeyService, listService, configurationService) {\n var _a;\n this.tree = tree;\n this.disposables = [];\n this.contextKeyService = createScopedContextKeyService(contextKeyService, tree);\n this.disposables.push(createScrollObserver(this.contextKeyService, tree));\n this.listSupportsMultiSelect = WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);\n this.listSupportsMultiSelect.set(options.multipleSelectionSupport !== false);\n const listSelectionNavigation = WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);\n listSelectionNavigation.set(Boolean(options.selectionNavigation));\n this.listSupportFindWidget = WorkbenchListSupportsFind.bindTo(this.contextKeyService);\n this.listSupportFindWidget.set((_a = options.findWidgetEnabled) !== null && _a !== void 0 ? _a : true);\n this.hasSelectionOrFocus = WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);\n this.hasDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService);\n this.hasMultiSelection = WorkbenchListMultiSelection.bindTo(this.contextKeyService);\n this.treeElementCanCollapse = WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService);\n this.treeElementHasParent = WorkbenchTreeElementHasParent.bindTo(this.contextKeyService);\n this.treeElementCanExpand = WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService);\n this.treeElementHasChild = WorkbenchTreeElementHasChild.bindTo(this.contextKeyService);\n this.treeFindOpen = WorkbenchTreeFindOpen.bindTo(this.contextKeyService);\n this.treeStickyScrollFocused = WorkbenchTreeStickyScrollFocused.bindTo(this.contextKeyService);\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n this.updateStyleOverrides(overrideStyles);\n const updateCollapseContextKeys = () => {\n const focus = tree.getFocus()[0];\n if (!focus) {\n return;\n }\n const node = tree.getNode(focus);\n this.treeElementCanCollapse.set(node.collapsible && !node.collapsed);\n this.treeElementHasParent.set(!!tree.getParentElement(focus));\n this.treeElementCanExpand.set(node.collapsible && node.collapsed);\n this.treeElementHasChild.set(!!tree.getFirstElementChild(focus));\n };\n const interestingContextKeys = new Set();\n interestingContextKeys.add(WorkbenchListTypeNavigationModeKey);\n interestingContextKeys.add(WorkbenchListAutomaticKeyboardNavigationLegacyKey);\n this.disposables.push(this.contextKeyService, listService.register(tree), tree.onDidChangeSelection(() => {\n const selection = tree.getSelection();\n const focus = tree.getFocus();\n this.contextKeyService.bufferChangeEvents(() => {\n this.hasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n this.hasMultiSelection.set(selection.length > 1);\n this.hasDoubleSelection.set(selection.length === 2);\n });\n }), tree.onDidChangeFocus(() => {\n const selection = tree.getSelection();\n const focus = tree.getFocus();\n this.hasSelectionOrFocus.set(selection.length > 0 || focus.length > 0);\n updateCollapseContextKeys();\n }), tree.onDidChangeCollapseState(updateCollapseContextKeys), tree.onDidChangeModel(updateCollapseContextKeys), tree.onDidChangeFindOpenState(enabled => this.treeFindOpen.set(enabled)), tree.onDidChangeStickyScrollFocused(focused => this.treeStickyScrollFocused.set(focused)), configurationService.onDidChangeConfiguration(e => {\n let newOptions = {};\n if (e.affectsConfiguration(multiSelectModifierSettingKey)) {\n this._useAltAsMultipleSelectionModifier = useAltAsMultipleSelectionModifier(configurationService);\n }\n if (e.affectsConfiguration(treeIndentKey)) {\n const indent = configurationService.getValue(treeIndentKey);\n newOptions = { ...newOptions, indent };\n }\n if (e.affectsConfiguration(treeRenderIndentGuidesKey) && options.renderIndentGuides === undefined) {\n const renderIndentGuides = configurationService.getValue(treeRenderIndentGuidesKey);\n newOptions = { ...newOptions, renderIndentGuides };\n }\n if (e.affectsConfiguration(listSmoothScrolling)) {\n const smoothScrolling = Boolean(configurationService.getValue(listSmoothScrolling));\n newOptions = { ...newOptions, smoothScrolling };\n }\n if (e.affectsConfiguration(defaultFindModeSettingKey) || e.affectsConfiguration(keyboardNavigationSettingKey)) {\n const defaultFindMode = getDefaultTreeFindMode(configurationService);\n newOptions = { ...newOptions, defaultFindMode };\n }\n if (e.affectsConfiguration(typeNavigationModeSettingKey) || e.affectsConfiguration(keyboardNavigationSettingKey)) {\n const typeNavigationMode = getTypeNavigationMode();\n newOptions = { ...newOptions, typeNavigationMode };\n }\n if (e.affectsConfiguration(defaultFindMatchTypeSettingKey)) {\n const defaultFindMatchType = getDefaultTreeFindMatchType(configurationService);\n newOptions = { ...newOptions, defaultFindMatchType };\n }\n if (e.affectsConfiguration(horizontalScrollingKey) && options.horizontalScrolling === undefined) {\n const horizontalScrolling = Boolean(configurationService.getValue(horizontalScrollingKey));\n newOptions = { ...newOptions, horizontalScrolling };\n }\n if (e.affectsConfiguration(scrollByPageKey)) {\n const scrollByPage = Boolean(configurationService.getValue(scrollByPageKey));\n newOptions = { ...newOptions, scrollByPage };\n }\n if (e.affectsConfiguration(treeExpandMode) && options.expandOnlyOnTwistieClick === undefined) {\n newOptions = { ...newOptions, expandOnlyOnTwistieClick: configurationService.getValue(treeExpandMode) === 'doubleClick' };\n }\n if (e.affectsConfiguration(treeStickyScroll)) {\n const enableStickyScroll = configurationService.getValue(treeStickyScroll);\n newOptions = { ...newOptions, enableStickyScroll };\n }\n if (e.affectsConfiguration(treeStickyScrollMaxElements)) {\n const stickyScrollMaxItemCount = Math.max(1, configurationService.getValue(treeStickyScrollMaxElements));\n newOptions = { ...newOptions, stickyScrollMaxItemCount };\n }\n if (e.affectsConfiguration(mouseWheelScrollSensitivityKey)) {\n const mouseWheelScrollSensitivity = configurationService.getValue(mouseWheelScrollSensitivityKey);\n newOptions = { ...newOptions, mouseWheelScrollSensitivity };\n }\n if (e.affectsConfiguration(fastScrollSensitivityKey)) {\n const fastScrollSensitivity = configurationService.getValue(fastScrollSensitivityKey);\n newOptions = { ...newOptions, fastScrollSensitivity };\n }\n if (Object.keys(newOptions).length > 0) {\n tree.updateOptions(newOptions);\n }\n }), this.contextKeyService.onDidChangeContext(e => {\n if (e.affectsSome(interestingContextKeys)) {\n tree.updateOptions({ typeNavigationMode: getTypeNavigationMode() });\n }\n }));\n this.navigator = new TreeResourceNavigator(tree, { configurationService, ...options });\n this.disposables.push(this.navigator);\n }\n updateOptions(options) {\n if (options.multipleSelectionSupport !== undefined) {\n this.listSupportsMultiSelect.set(!!options.multipleSelectionSupport);\n }\n }\n updateStyleOverrides(overrideStyles) {\n this.tree.style(overrideStyles ? getListStyles(overrideStyles) : defaultListStyles);\n }\n dispose() {\n this.disposables = dispose(this.disposables);\n }\n};\nWorkbenchTreeInternals = __decorate([\n __param(4, IContextKeyService),\n __param(5, IListService),\n __param(6, IConfigurationService)\n], WorkbenchTreeInternals);\nconst configurationRegistry = Registry.as(ConfigurationExtensions.Configuration);\nconfigurationRegistry.registerConfiguration({\n id: 'workbench',\n order: 7,\n title: localize('workbenchConfigurationTitle', \"Workbench\"),\n type: 'object',\n properties: {\n [multiSelectModifierSettingKey]: {\n type: 'string',\n enum: ['ctrlCmd', 'alt'],\n markdownEnumDescriptions: [\n localize('multiSelectModifier.ctrlCmd', \"Maps to `Control` on Windows and Linux and to `Command` on macOS.\"),\n localize('multiSelectModifier.alt', \"Maps to `Alt` on Windows and Linux and to `Option` on macOS.\")\n ],\n default: 'ctrlCmd',\n description: localize({\n key: 'multiSelectModifier',\n comment: [\n '- `ctrlCmd` refers to a value the setting can take and should not be localized.',\n '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.'\n ]\n }, \"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.\")\n },\n [openModeSettingKey]: {\n type: 'string',\n enum: ['singleClick', 'doubleClick'],\n default: 'singleClick',\n description: localize({\n key: 'openModeModifier',\n comment: ['`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized.']\n }, \"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.\")\n },\n [horizontalScrollingKey]: {\n type: 'boolean',\n default: false,\n description: localize('horizontalScrolling setting', \"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.\")\n },\n [scrollByPageKey]: {\n type: 'boolean',\n default: false,\n description: localize('list.scrollByPage', \"Controls whether clicks in the scrollbar scroll page by page.\")\n },\n [treeIndentKey]: {\n type: 'number',\n default: 8,\n minimum: 4,\n maximum: 40,\n description: localize('tree indent setting', \"Controls tree indentation in pixels.\")\n },\n [treeRenderIndentGuidesKey]: {\n type: 'string',\n enum: ['none', 'onHover', 'always'],\n default: 'onHover',\n description: localize('render tree indent guides', \"Controls whether the tree should render indent guides.\")\n },\n [listSmoothScrolling]: {\n type: 'boolean',\n default: false,\n description: localize('list smoothScrolling setting', \"Controls whether lists and trees have smooth scrolling.\"),\n },\n [mouseWheelScrollSensitivityKey]: {\n type: 'number',\n default: 1,\n markdownDescription: localize('Mouse Wheel Scroll Sensitivity', \"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.\")\n },\n [fastScrollSensitivityKey]: {\n type: 'number',\n default: 5,\n markdownDescription: localize('Fast Scroll Sensitivity', \"Scrolling speed multiplier when pressing `Alt`.\")\n },\n [defaultFindModeSettingKey]: {\n type: 'string',\n enum: ['highlight', 'filter'],\n enumDescriptions: [\n localize('defaultFindModeSettingKey.highlight', \"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements.\"),\n localize('defaultFindModeSettingKey.filter', \"Filter elements when searching.\")\n ],\n default: 'highlight',\n description: localize('defaultFindModeSettingKey', \"Controls the default find mode for lists and trees in the workbench.\")\n },\n [keyboardNavigationSettingKey]: {\n type: 'string',\n enum: ['simple', 'highlight', 'filter'],\n enumDescriptions: [\n localize('keyboardNavigationSettingKey.simple', \"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.\"),\n localize('keyboardNavigationSettingKey.highlight', \"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.\"),\n localize('keyboardNavigationSettingKey.filter', \"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.\")\n ],\n default: 'highlight',\n description: localize('keyboardNavigationSettingKey', \"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.\"),\n deprecated: true,\n deprecationMessage: localize('keyboardNavigationSettingKeyDeprecated', \"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.\")\n },\n [defaultFindMatchTypeSettingKey]: {\n type: 'string',\n enum: ['fuzzy', 'contiguous'],\n enumDescriptions: [\n localize('defaultFindMatchTypeSettingKey.fuzzy', \"Use fuzzy matching when searching.\"),\n localize('defaultFindMatchTypeSettingKey.contiguous', \"Use contiguous matching when searching.\")\n ],\n default: 'fuzzy',\n description: localize('defaultFindMatchTypeSettingKey', \"Controls the type of matching used when searching lists and trees in the workbench.\")\n },\n [treeExpandMode]: {\n type: 'string',\n enum: ['singleClick', 'doubleClick'],\n default: 'singleClick',\n description: localize('expand mode', \"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.\"),\n },\n [treeStickyScroll]: {\n type: 'boolean',\n default: true,\n description: localize('sticky scroll', \"Controls whether sticky scrolling is enabled in trees.\"),\n },\n [treeStickyScrollMaxElements]: {\n type: 'number',\n minimum: 1,\n default: 7,\n markdownDescription: localize('sticky scroll maximum items', \"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.\"),\n },\n [typeNavigationModeSettingKey]: {\n type: 'string',\n enum: ['automatic', 'trigger'],\n default: 'automatic',\n markdownDescription: localize('typeNavigationMode2', \"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.\"),\n }\n }\n});\n","import { Emitter } from '../../../base/common/event.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport { RawContextKey } from '../../contextkey/common/contextkey.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const ILogService = createDecorator('logService');\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"Off\"] = 0] = \"Off\";\n LogLevel[LogLevel[\"Trace\"] = 1] = \"Trace\";\n LogLevel[LogLevel[\"Debug\"] = 2] = \"Debug\";\n LogLevel[LogLevel[\"Info\"] = 3] = \"Info\";\n LogLevel[LogLevel[\"Warning\"] = 4] = \"Warning\";\n LogLevel[LogLevel[\"Error\"] = 5] = \"Error\";\n})(LogLevel || (LogLevel = {}));\nexport const DEFAULT_LOG_LEVEL = LogLevel.Info;\nexport class AbstractLogger extends Disposable {\n constructor() {\n super(...arguments);\n this.level = DEFAULT_LOG_LEVEL;\n this._onDidChangeLogLevel = this._register(new Emitter());\n this.onDidChangeLogLevel = this._onDidChangeLogLevel.event;\n }\n setLevel(level) {\n if (this.level !== level) {\n this.level = level;\n this._onDidChangeLogLevel.fire(this.level);\n }\n }\n getLevel() {\n return this.level;\n }\n checkLogLevel(level) {\n return this.level !== LogLevel.Off && this.level <= level;\n }\n}\nexport class ConsoleLogger extends AbstractLogger {\n constructor(logLevel = DEFAULT_LOG_LEVEL, useColors = true) {\n super();\n this.useColors = useColors;\n this.setLevel(logLevel);\n }\n trace(message, ...args) {\n if (this.checkLogLevel(LogLevel.Trace)) {\n if (this.useColors) {\n console.log('%cTRACE', 'color: #888', message, ...args);\n }\n else {\n console.log(message, ...args);\n }\n }\n }\n debug(message, ...args) {\n if (this.checkLogLevel(LogLevel.Debug)) {\n if (this.useColors) {\n console.log('%cDEBUG', 'background: #eee; color: #888', message, ...args);\n }\n else {\n console.log(message, ...args);\n }\n }\n }\n info(message, ...args) {\n if (this.checkLogLevel(LogLevel.Info)) {\n if (this.useColors) {\n console.log('%c INFO', 'color: #33f', message, ...args);\n }\n else {\n console.log(message, ...args);\n }\n }\n }\n warn(message, ...args) {\n if (this.checkLogLevel(LogLevel.Warning)) {\n if (this.useColors) {\n console.log('%c WARN', 'color: #993', message, ...args);\n }\n else {\n console.log(message, ...args);\n }\n }\n }\n error(message, ...args) {\n if (this.checkLogLevel(LogLevel.Error)) {\n if (this.useColors) {\n console.log('%c ERR', 'color: #f33', message, ...args);\n }\n else {\n console.error(message, ...args);\n }\n }\n }\n}\nexport class MultiplexLogger extends AbstractLogger {\n constructor(loggers) {\n super();\n this.loggers = loggers;\n if (loggers.length) {\n this.setLevel(loggers[0].getLevel());\n }\n }\n setLevel(level) {\n for (const logger of this.loggers) {\n logger.setLevel(level);\n }\n super.setLevel(level);\n }\n trace(message, ...args) {\n for (const logger of this.loggers) {\n logger.trace(message, ...args);\n }\n }\n debug(message, ...args) {\n for (const logger of this.loggers) {\n logger.debug(message, ...args);\n }\n }\n info(message, ...args) {\n for (const logger of this.loggers) {\n logger.info(message, ...args);\n }\n }\n warn(message, ...args) {\n for (const logger of this.loggers) {\n logger.warn(message, ...args);\n }\n }\n error(message, ...args) {\n for (const logger of this.loggers) {\n logger.error(message, ...args);\n }\n }\n dispose() {\n for (const logger of this.loggers) {\n logger.dispose();\n }\n super.dispose();\n }\n}\nexport function LogLevelToString(logLevel) {\n switch (logLevel) {\n case LogLevel.Trace: return 'trace';\n case LogLevel.Debug: return 'debug';\n case LogLevel.Info: return 'info';\n case LogLevel.Warning: return 'warn';\n case LogLevel.Error: return 'error';\n case LogLevel.Off: return 'off';\n }\n}\n// Contexts\nexport const CONTEXT_LOG_LEVEL = new RawContextKey('logLevel', LogLevelToString(LogLevel.Info));\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 { Disposable } from '../../../base/common/lifecycle.js';\nimport { MultiplexLogger } from './log.js';\nexport class LogService extends Disposable {\n constructor(primaryLogger, otherLoggers = []) {\n super();\n this.logger = new MultiplexLogger([primaryLogger, ...otherLoggers]);\n this._register(primaryLogger.onDidChangeLogLevel(level => this.setLevel(level)));\n }\n get onDidChangeLogLevel() {\n return this.logger.onDidChangeLogLevel;\n }\n setLevel(level) {\n this.logger.setLevel(level);\n }\n getLevel() {\n return this.logger.getLevel();\n }\n trace(message, ...args) {\n this.logger.trace(message, ...args);\n }\n debug(message, ...args) {\n this.logger.debug(message, ...args);\n }\n info(message, ...args) {\n this.logger.info(message, ...args);\n }\n warn(message, ...args) {\n this.logger.warn(message, ...args);\n }\n error(message, ...args) {\n this.logger.error(message, ...args);\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 { isFalsyOrEmpty, isNonEmptyArray } from '../../../base/common/arrays.js';\nimport { DebounceEmitter } from '../../../base/common/event.js';\nimport { Iterable } from '../../../base/common/iterator.js';\nimport { ResourceMap } from '../../../base/common/map.js';\nimport { Schemas } from '../../../base/common/network.js';\nimport { URI } from '../../../base/common/uri.js';\nimport { MarkerSeverity } from './markers.js';\nexport const unsupportedSchemas = new Set([\n Schemas.inMemory,\n Schemas.vscodeSourceControl,\n Schemas.walkThrough,\n Schemas.walkThroughSnippet,\n Schemas.vscodeChatCodeBlock,\n Schemas.vscodeCopilotBackingChatCodeBlock,\n]);\nclass DoubleResourceMap {\n constructor() {\n this._byResource = new ResourceMap();\n this._byOwner = new Map();\n }\n set(resource, owner, value) {\n let ownerMap = this._byResource.get(resource);\n if (!ownerMap) {\n ownerMap = new Map();\n this._byResource.set(resource, ownerMap);\n }\n ownerMap.set(owner, value);\n let resourceMap = this._byOwner.get(owner);\n if (!resourceMap) {\n resourceMap = new ResourceMap();\n this._byOwner.set(owner, resourceMap);\n }\n resourceMap.set(resource, value);\n }\n get(resource, owner) {\n const ownerMap = this._byResource.get(resource);\n return ownerMap === null || ownerMap === void 0 ? void 0 : ownerMap.get(owner);\n }\n delete(resource, owner) {\n let removedA = false;\n let removedB = false;\n const ownerMap = this._byResource.get(resource);\n if (ownerMap) {\n removedA = ownerMap.delete(owner);\n }\n const resourceMap = this._byOwner.get(owner);\n if (resourceMap) {\n removedB = resourceMap.delete(resource);\n }\n if (removedA !== removedB) {\n throw new Error('illegal state');\n }\n return removedA && removedB;\n }\n values(key) {\n var _a, _b, _c, _d;\n if (typeof key === 'string') {\n return (_b = (_a = this._byOwner.get(key)) === null || _a === void 0 ? void 0 : _a.values()) !== null && _b !== void 0 ? _b : Iterable.empty();\n }\n if (URI.isUri(key)) {\n return (_d = (_c = this._byResource.get(key)) === null || _c === void 0 ? void 0 : _c.values()) !== null && _d !== void 0 ? _d : Iterable.empty();\n }\n return Iterable.map(Iterable.concat(...this._byOwner.values()), map => map[1]);\n }\n}\nclass MarkerStats {\n constructor(service) {\n this.errors = 0;\n this.infos = 0;\n this.warnings = 0;\n this.unknowns = 0;\n this._data = new ResourceMap();\n this._service = service;\n this._subscription = service.onMarkerChanged(this._update, this);\n }\n dispose() {\n this._subscription.dispose();\n }\n _update(resources) {\n for (const resource of resources) {\n const oldStats = this._data.get(resource);\n if (oldStats) {\n this._substract(oldStats);\n }\n const newStats = this._resourceStats(resource);\n this._add(newStats);\n this._data.set(resource, newStats);\n }\n }\n _resourceStats(resource) {\n const result = { errors: 0, warnings: 0, infos: 0, unknowns: 0 };\n // TODO this is a hack\n if (unsupportedSchemas.has(resource.scheme)) {\n return result;\n }\n for (const { severity } of this._service.read({ resource })) {\n if (severity === MarkerSeverity.Error) {\n result.errors += 1;\n }\n else if (severity === MarkerSeverity.Warning) {\n result.warnings += 1;\n }\n else if (severity === MarkerSeverity.Info) {\n result.infos += 1;\n }\n else {\n result.unknowns += 1;\n }\n }\n return result;\n }\n _substract(op) {\n this.errors -= op.errors;\n this.warnings -= op.warnings;\n this.infos -= op.infos;\n this.unknowns -= op.unknowns;\n }\n _add(op) {\n this.errors += op.errors;\n this.warnings += op.warnings;\n this.infos += op.infos;\n this.unknowns += op.unknowns;\n }\n}\nexport class MarkerService {\n constructor() {\n this._onMarkerChanged = new DebounceEmitter({\n delay: 0,\n merge: MarkerService._merge\n });\n this.onMarkerChanged = this._onMarkerChanged.event;\n this._data = new DoubleResourceMap();\n this._stats = new MarkerStats(this);\n }\n dispose() {\n this._stats.dispose();\n this._onMarkerChanged.dispose();\n }\n remove(owner, resources) {\n for (const resource of resources || []) {\n this.changeOne(owner, resource, []);\n }\n }\n changeOne(owner, resource, markerData) {\n if (isFalsyOrEmpty(markerData)) {\n // remove marker for this (owner,resource)-tuple\n const removed = this._data.delete(resource, owner);\n if (removed) {\n this._onMarkerChanged.fire([resource]);\n }\n }\n else {\n // insert marker for this (owner,resource)-tuple\n const markers = [];\n for (const data of markerData) {\n const marker = MarkerService._toMarker(owner, resource, data);\n if (marker) {\n markers.push(marker);\n }\n }\n this._data.set(resource, owner, markers);\n this._onMarkerChanged.fire([resource]);\n }\n }\n static _toMarker(owner, resource, data) {\n let { code, severity, message, source, startLineNumber, startColumn, endLineNumber, endColumn, relatedInformation, tags, } = data;\n if (!message) {\n return undefined;\n }\n // santize data\n startLineNumber = startLineNumber > 0 ? startLineNumber : 1;\n startColumn = startColumn > 0 ? startColumn : 1;\n endLineNumber = endLineNumber >= startLineNumber ? endLineNumber : startLineNumber;\n endColumn = endColumn > 0 ? endColumn : startColumn;\n return {\n resource,\n owner,\n code,\n severity,\n message,\n source,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n relatedInformation,\n tags,\n };\n }\n changeAll(owner, data) {\n const changes = [];\n // remove old marker\n const existing = this._data.values(owner);\n if (existing) {\n for (const data of existing) {\n const first = Iterable.first(data);\n if (first) {\n changes.push(first.resource);\n this._data.delete(first.resource, owner);\n }\n }\n }\n // add new markers\n if (isNonEmptyArray(data)) {\n // group by resource\n const groups = new ResourceMap();\n for (const { resource, marker: markerData } of data) {\n const marker = MarkerService._toMarker(owner, resource, markerData);\n if (!marker) {\n // filter bad markers\n continue;\n }\n const array = groups.get(resource);\n if (!array) {\n groups.set(resource, [marker]);\n changes.push(resource);\n }\n else {\n array.push(marker);\n }\n }\n // insert all\n for (const [resource, value] of groups) {\n this._data.set(resource, owner, value);\n }\n }\n if (changes.length > 0) {\n this._onMarkerChanged.fire(changes);\n }\n }\n read(filter = Object.create(null)) {\n let { owner, resource, severities, take } = filter;\n if (!take || take < 0) {\n take = -1;\n }\n if (owner && resource) {\n // exactly one owner AND resource\n const data = this._data.get(resource, owner);\n if (!data) {\n return [];\n }\n else {\n const result = [];\n for (const marker of data) {\n if (MarkerService._accept(marker, severities)) {\n const newLen = result.push(marker);\n if (take > 0 && newLen === take) {\n break;\n }\n }\n }\n return result;\n }\n }\n else if (!owner && !resource) {\n // all\n const result = [];\n for (const markers of this._data.values()) {\n for (const data of markers) {\n if (MarkerService._accept(data, severities)) {\n const newLen = result.push(data);\n if (take > 0 && newLen === take) {\n return result;\n }\n }\n }\n }\n return result;\n }\n else {\n // of one resource OR owner\n const iterable = this._data.values(resource !== null && resource !== void 0 ? resource : owner);\n const result = [];\n for (const markers of iterable) {\n for (const data of markers) {\n if (MarkerService._accept(data, severities)) {\n const newLen = result.push(data);\n if (take > 0 && newLen === take) {\n return result;\n }\n }\n }\n }\n return result;\n }\n }\n static _accept(marker, severities) {\n return severities === undefined || (severities & marker.severity) === marker.severity;\n }\n // --- event debounce logic\n static _merge(all) {\n const set = new ResourceMap();\n for (const array of all) {\n for (const item of array) {\n set.set(item, true);\n }\n }\n return Array.from(set.keys());\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 Severity from '../../../base/common/severity.js';\nimport { localize } from '../../../nls.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nexport var MarkerSeverity;\n(function (MarkerSeverity) {\n MarkerSeverity[MarkerSeverity[\"Hint\"] = 1] = \"Hint\";\n MarkerSeverity[MarkerSeverity[\"Info\"] = 2] = \"Info\";\n MarkerSeverity[MarkerSeverity[\"Warning\"] = 4] = \"Warning\";\n MarkerSeverity[MarkerSeverity[\"Error\"] = 8] = \"Error\";\n})(MarkerSeverity || (MarkerSeverity = {}));\n(function (MarkerSeverity) {\n function compare(a, b) {\n return b - a;\n }\n MarkerSeverity.compare = compare;\n const _displayStrings = Object.create(null);\n _displayStrings[MarkerSeverity.Error] = localize('sev.error', \"Error\");\n _displayStrings[MarkerSeverity.Warning] = localize('sev.warning', \"Warning\");\n _displayStrings[MarkerSeverity.Info] = localize('sev.info', \"Info\");\n function toString(a) {\n return _displayStrings[a] || '';\n }\n MarkerSeverity.toString = toString;\n function fromSeverity(severity) {\n switch (severity) {\n case Severity.Error: return MarkerSeverity.Error;\n case Severity.Warning: return MarkerSeverity.Warning;\n case Severity.Info: return MarkerSeverity.Info;\n case Severity.Ignore: return MarkerSeverity.Hint;\n }\n }\n MarkerSeverity.fromSeverity = fromSeverity;\n function toSeverity(severity) {\n switch (severity) {\n case MarkerSeverity.Error: return Severity.Error;\n case MarkerSeverity.Warning: return Severity.Warning;\n case MarkerSeverity.Info: return Severity.Info;\n case MarkerSeverity.Hint: return Severity.Ignore;\n }\n }\n MarkerSeverity.toSeverity = toSeverity;\n})(MarkerSeverity || (MarkerSeverity = {}));\nexport var IMarkerData;\n(function (IMarkerData) {\n const emptyString = '';\n function makeKey(markerData) {\n return makeKeyOptionalMessage(markerData, true);\n }\n IMarkerData.makeKey = makeKey;\n function makeKeyOptionalMessage(markerData, useMessage) {\n const result = [emptyString];\n if (markerData.source) {\n result.push(markerData.source.replace('¦', '\\\\¦'));\n }\n else {\n result.push(emptyString);\n }\n if (markerData.code) {\n if (typeof markerData.code === 'string') {\n result.push(markerData.code.replace('¦', '\\\\¦'));\n }\n else {\n result.push(markerData.code.value.replace('¦', '\\\\¦'));\n }\n }\n else {\n result.push(emptyString);\n }\n if (markerData.severity !== undefined && markerData.severity !== null) {\n result.push(MarkerSeverity.toString(markerData.severity));\n }\n else {\n result.push(emptyString);\n }\n // Modifed to not include the message as part of the marker key to work around\n // https://github.com/microsoft/vscode/issues/77475\n if (markerData.message && useMessage) {\n result.push(markerData.message.replace('¦', '\\\\¦'));\n }\n else {\n result.push(emptyString);\n }\n if (markerData.startLineNumber !== undefined && markerData.startLineNumber !== null) {\n result.push(markerData.startLineNumber.toString());\n }\n else {\n result.push(emptyString);\n }\n if (markerData.startColumn !== undefined && markerData.startColumn !== null) {\n result.push(markerData.startColumn.toString());\n }\n else {\n result.push(emptyString);\n }\n if (markerData.endLineNumber !== undefined && markerData.endLineNumber !== null) {\n result.push(markerData.endLineNumber.toString());\n }\n else {\n result.push(emptyString);\n }\n if (markerData.endColumn !== undefined && markerData.endColumn !== null) {\n result.push(markerData.endColumn.toString());\n }\n else {\n result.push(emptyString);\n }\n result.push(emptyString);\n return result.join('¦');\n }\n IMarkerData.makeKeyOptionalMessage = makeKeyOptionalMessage;\n})(IMarkerData || (IMarkerData = {}));\nexport const IMarkerService = createDecorator('markerService');\n","import BaseSeverity from '../../../base/common/severity.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nexport var Severity = BaseSeverity;\nexport const INotificationService = createDecorator('notificationService');\nexport class NoOpNotification {\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 { autorunOpts } from '../../../base/common/observable.js';\n/** Update the configuration key with a value derived from observables. */\nexport function bindContextKey(key, service, computeValue) {\n const boundKey = key.bindTo(service);\n return autorunOpts({ debugName: () => `Set Context Key \"${key.key}\"` }, reader => {\n boundKey.set(computeValue(reader));\n });\n}\n"],"names":["ILabelService","ILayoutService","__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","IListService","ListService","lastFocusedList","this","_lastFocusedWidget","constructor","disposables","lists","undefined","_hasCreatedStyleController","setLastFocusedList","widget","_a","_b","getHTMLElement","classList","remove","add","register","extraContextKeys","style","some","l","Error","registeredList","push","onDidFocus","splice","indexOf","onDidDispose","filter","dispose","RawWorkbenchListScrollAtBoundaryContextKey","RawWorkbenchListFocusContextKey","isEqualTo","WorkbenchTreeStickyScrollFocused","WorkbenchListSupportsMultiSelectContextKey","WorkbenchListFocusContextKey","negate","WorkbenchListHasSelectionOrFocus","WorkbenchListDoubleSelection","WorkbenchListMultiSelection","WorkbenchListSelectionNavigation","WorkbenchListSupportsFind","WorkbenchTreeElementCanCollapse","WorkbenchTreeElementHasParent","WorkbenchTreeElementCanExpand","WorkbenchTreeElementHasChild","WorkbenchTreeFindOpen","WorkbenchListTypeNavigationModeKey","WorkbenchListAutomaticKeyboardNavigationLegacyKey","createScopedContextKeyService","contextKeyService","result","createScoped","bindTo","createScrollObserver","listScrollAt","update","atTop","scrollTop","atBottom","scrollHeight","renderHeight","set","onDidScroll","multiSelectModifierSettingKey","openModeSettingKey","horizontalScrollingKey","defaultFindModeSettingKey","typeNavigationModeSettingKey","keyboardNavigationSettingKey","scrollByPageKey","defaultFindMatchTypeSettingKey","treeIndentKey","treeRenderIndentGuidesKey","listSmoothScrolling","mouseWheelScrollSensitivityKey","fastScrollSensitivityKey","treeExpandMode","treeStickyScroll","treeStickyScrollMaxElements","useAltAsMultipleSelectionModifier","configurationService","getValue","MultipleSelectionController","super","registerListeners","_register","onDidChangeConfiguration","e","affectsConfiguration","isSelectionSingleChangeEvent","event","browserEvent","altKey","isSelectionRangeChangeEvent","toWorkbenchListOptions","accessor","options","get","keybindingService","keyboardNavigationDelegate","mightProducePrintableCharacter","smoothScrolling","Boolean","mouseWheelScrollSensitivity","fastScrollSensitivity","multipleSelectionController","keyboardNavigationEventFilter","createKeyboardNavigationEventFilter","scrollByPage","WorkbenchList","user","container","delegate","renderers","listService","instantiationService","horizontalScrolling","workbenchListOptions","workbenchListOptionsDisposable","invokeFunction","keyboardSupport","listSupportsMultiSelect","multipleSelectionSupport","selectionNavigation","listHasSelectionOrFocus","listDoubleSelection","listMultiSelection","_useAltAsMultipleSelectionModifier","updateStyles","overrideStyles","onDidChangeSelection","selection","getSelection","focus","getFocus","bufferChangeEvents","onDidChangeFocus","keys","updateOptions","navigator","ListResourceNavigator","styles","WorkbenchPagedList","WorkbenchTable","columns","TableResourceNavigator","ResourceNavigator","_onDidOpen","onDidOpen","onSelectionFromKeyboard","onPointer","element","onMouseDblClick","openOnSingleClick","elements","selectionKeyboardEvent","preserveFocus","pinned","_open","getSelectedElement","detail","button","sideBySide","ctrlKey","metaKey","contains","offsetX","fire","editorOptions","revealIfVisible","getSelectedElements","TreeResourceNavigator","inMultiChord","toKeyCodeChord","isModifierKey","softDispatch","kind","WorkbenchObjectTree","treeOptions","getTypeNavigationMode","disposable","workbenchTreeDataPreamble","internals","WorkbenchTreeInternals","WorkbenchCompressibleObjectTree","updateStyleOverrides","WorkbenchDataTree","dataSource","WorkbenchAsyncDataTree","WorkbenchCompressibleAsyncDataTree","virtualDelegate","compressionDelegate","getDefaultTreeFindMode","value","deprecatedValue","getDefaultTreeFindMatchType","contextViewService","paddingBottom","renderIndentGuides","modeString","getContextKeyValue","configString","indent","defaultFindMode","defaultFindMatchType","hideTwistiesOfChildlessElements","expandOnlyOnTwistieClick","contextViewProvider","findWidgetStyles","enableStickyScroll","stickyScrollMaxItemCount","Number","tree","listSupportFindWidget","findWidgetEnabled","hasSelectionOrFocus","hasDoubleSelection","hasMultiSelection","treeElementCanCollapse","treeElementHasParent","treeElementCanExpand","treeElementHasChild","treeFindOpen","treeStickyScrollFocused","updateCollapseContextKeys","node","getNode","collapsible","collapsed","getParentElement","getFirstElementChild","interestingContextKeys","Set","onDidChangeCollapseState","onDidChangeModel","onDidChangeFindOpenState","enabled","onDidChangeStickyScrollFocused","focused","newOptions","typeNavigationMode","Math","max","onDidChangeContext","affectsSome","Configuration","registerConfiguration","id","order","title","type","properties","enum","markdownEnumDescriptions","default","description","comment","minimum","maximum","markdownDescription","enumDescriptions","deprecated","deprecationMessage","ILogService","LogLevel","DEFAULT_LOG_LEVEL","Info","AbstractLogger","level","_onDidChangeLogLevel","onDidChangeLogLevel","setLevel","getLevel","checkLogLevel","Off","ConsoleLogger","logLevel","useColors","trace","message","args","Trace","console","log","debug","Debug","info","warn","Warning","error","MultiplexLogger","loggers","logger","LogLevelToString","LogService","primaryLogger","otherLoggers","unsupportedSchemas","DoubleResourceMap","_byResource","_byOwner","Map","resource","owner","ownerMap","resourceMap","removedA","removedB","delete","values","_c","_d","map","MarkerStats","service","errors","infos","warnings","unknowns","_data","_service","_subscription","onMarkerChanged","_update","resources","oldStats","_substract","newStats","_resourceStats","_add","has","scheme","severity","read","op","MarkerService","_onMarkerChanged","delay","merge","_merge","_stats","changeOne","markerData","markers","data","marker","_toMarker","code","source","startLineNumber","startColumn","endLineNumber","endColumn","relatedInformation","tags","changeAll","changes","existing","first","groups","array","create","severities","take","_accept","newLen","iterable","all","item","Array","from","MarkerSeverity","IMarkerData","compare","a","b","_displayStrings","toString","fromSeverity","Hint","toSeverity","emptyString","makeKeyOptionalMessage","useMessage","replace","join","makeKey","IMarkerService","Severity","INotificationService","NoOpNotification","bindContextKey","computeValue","boundKey","debugName","reader"],"sourceRoot":""}