@codingame/monaco-vscode-api 25.1.2 → 26.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/external/@vscode/tree-sitter-wasm/wasm/tree-sitter.js +3291 -0
- package/missing-services.js +277 -64
- package/package.json +8 -8
- package/services.js +5 -6
- package/vscode/product.json.js +1 -1
- package/vscode/src/vs/base/browser/broadcast.js +13 -12
- package/vscode/src/vs/base/browser/browser.js +19 -13
- package/vscode/src/vs/base/browser/cssValue.js +9 -9
- package/vscode/src/vs/base/browser/dom.d.ts +99 -2
- package/vscode/src/vs/base/browser/dom.js +468 -321
- package/vscode/src/vs/base/browser/domSanitize.js +139 -136
- package/vscode/src/vs/base/browser/domStylesheets.d.ts +0 -11
- package/vscode/src/vs/base/browser/domStylesheets.js +30 -24
- package/vscode/src/vs/base/browser/event.js +1 -1
- package/vscode/src/vs/base/browser/fastDomNode.js +30 -30
- package/vscode/src/vs/base/browser/fonts.js +2 -3
- package/vscode/src/vs/base/browser/formattedTextRenderer.js +41 -46
- package/vscode/src/vs/base/browser/globalPointerMoveMonitor.js +13 -8
- package/vscode/src/vs/base/browser/iframe.js +10 -9
- package/vscode/src/vs/base/browser/indexedDB.js +22 -19
- package/vscode/src/vs/base/browser/keyboardEvent.js +26 -24
- package/vscode/src/vs/base/browser/markdownRenderer.js +321 -234
- package/vscode/src/vs/base/browser/pixelRatio.js +9 -9
- package/vscode/src/vs/base/browser/touch.d.ts +7 -0
- package/vscode/src/vs/base/browser/touch.js +63 -35
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +79 -72
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css +8 -5
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +94 -96
- package/vscode/src/vs/base/browser/ui/aria/aria.js +14 -16
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +52 -35
- package/vscode/src/vs/base/browser/ui/button/button.css +14 -5
- package/vscode/src/vs/base/browser/ui/button/button.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/button/button.js +154 -132
- package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +71 -30
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +2 -0
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +108 -76
- package/vscode/src/vs/base/browser/ui/countBadge/countBadge.js +13 -9
- package/vscode/src/vs/base/browser/ui/dialog/dialog.css +2 -8
- package/vscode/src/vs/base/browser/ui/dialog/dialog.js +130 -114
- package/vscode/src/vs/base/browser/ui/dnd/dnd.js +3 -3
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +15 -16
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +44 -28
- package/vscode/src/vs/base/browser/ui/findinput/findInput.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/findinput/findInput.js +68 -52
- package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +48 -40
- package/vscode/src/vs/base/browser/ui/grid/grid.js +180 -111
- package/vscode/src/vs/base/browser/ui/grid/gridview.js +235 -128
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +10 -0
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegateFactory.js +11 -7
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +19 -20
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +106 -75
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabels.js +4 -2
- package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +70 -52
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.css +1 -1
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +161 -132
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +39 -15
- package/vscode/src/vs/base/browser/ui/list/list.d.ts +3 -0
- package/vscode/src/vs/base/browser/ui/list/list.js +4 -3
- package/vscode/src/vs/base/browser/ui/list/listPaging.js +97 -32
- package/vscode/src/vs/base/browser/ui/list/listView.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/list/listView.js +381 -221
- package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +12 -1
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +453 -319
- package/vscode/src/vs/base/browser/ui/list/rangeMap.js +33 -7
- package/vscode/src/vs/base/browser/ui/list/rowCache.js +19 -12
- package/vscode/src/vs/base/browser/ui/menu/menu.js +349 -324
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +245 -222
- package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +31 -30
- package/vscode/src/vs/base/browser/ui/radio/radio.css +69 -0
- package/vscode/src/vs/base/browser/ui/radio/radio.d.ts +37 -0
- package/vscode/src/vs/base/browser/ui/radio/radio.js +77 -0
- package/vscode/src/vs/base/browser/ui/resizable/resizable.js +83 -36
- package/vscode/src/vs/base/browser/ui/sash/sash.js +130 -106
- package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +43 -33
- package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +17 -8
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +92 -88
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarArrow.js +32 -28
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarState.js +22 -7
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +2 -3
- package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +14 -7
- package/vscode/src/vs/base/browser/ui/selectBox/selectBox.css +2 -2
- package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -4
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.css +1 -1
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +238 -184
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +23 -28
- package/vscode/src/vs/base/browser/ui/severityIcon/severityIcon.js +11 -11
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +105 -70
- package/vscode/src/vs/base/browser/ui/splitview/splitview.js +306 -159
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +127 -44
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +86 -79
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.css +14 -2
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +5 -0
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +84 -49
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +619 -331
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +277 -140
- package/vscode/src/vs/base/browser/ui/tree/compressedObjectTreeModel.js +113 -50
- package/vscode/src/vs/base/browser/ui/tree/dataTree.js +30 -12
- package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +184 -77
- package/vscode/src/vs/base/browser/ui/tree/media/tree.css +2 -0
- package/vscode/src/vs/base/browser/ui/tree/objectTree.js +33 -19
- package/vscode/src/vs/base/browser/ui/tree/objectTreeModel.js +19 -19
- package/vscode/src/vs/base/browser/ui/tree/tree.js +4 -4
- package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
- package/vscode/src/vs/base/browser/ui/widget.js +18 -6
- package/vscode/src/vs/base/common/actions.js +54 -29
- package/vscode/src/vs/base/common/arrays.js +58 -51
- package/vscode/src/vs/base/common/arraysFind.js +6 -6
- package/vscode/src/vs/base/common/assert.js +8 -9
- package/vscode/src/vs/base/common/async.js +182 -130
- package/vscode/src/vs/base/common/buffer.js +73 -83
- package/vscode/src/vs/base/common/cache.js +4 -6
- package/vscode/src/vs/base/common/cancellation.js +16 -11
- package/vscode/src/vs/base/common/codicons.d.ts +4 -0
- package/vscode/src/vs/base/common/codicons.js +28 -28
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +4 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +4 -0
- package/vscode/src/vs/base/common/codiconsUtil.js +3 -1
- package/vscode/src/vs/base/common/collections.js +12 -4
- package/vscode/src/vs/base/common/color.js +445 -246
- package/vscode/src/vs/base/common/comparers.js +39 -38
- package/vscode/src/vs/base/common/controlFlow.js +3 -6
- package/vscode/src/vs/base/common/dataTransfer.js +20 -16
- package/vscode/src/vs/base/common/date.js +62 -150
- package/vscode/src/vs/base/common/decorators.js +16 -19
- package/vscode/src/vs/base/common/defaultAccount.d.ts +41 -13
- package/vscode/src/vs/base/common/diff/diff.js +261 -106
- package/vscode/src/vs/base/common/equals.js +5 -6
- package/vscode/src/vs/base/common/errorMessage.js +11 -12
- package/vscode/src/vs/base/common/errors.js +28 -23
- package/vscode/src/vs/base/common/event.d.ts +18 -0
- package/vscode/src/vs/base/common/event.js +164 -87
- package/vscode/src/vs/base/common/extpath.js +21 -25
- package/vscode/src/vs/base/common/filters.js +190 -120
- package/vscode/src/vs/base/common/fuzzyScorer.js +208 -70
- package/vscode/src/vs/base/common/glob.js +125 -130
- package/vscode/src/vs/base/common/hash.js +43 -52
- package/vscode/src/vs/base/common/hierarchicalKind.js +10 -4
- package/vscode/src/vs/base/common/history.js +12 -11
- package/vscode/src/vs/base/common/htmlContent.js +43 -55
- package/vscode/src/vs/base/common/iconLabels.js +26 -13
- package/vscode/src/vs/base/common/idGenerator.js +1 -1
- package/vscode/src/vs/base/common/iterator.js +10 -9
- package/vscode/src/vs/base/common/json.js +301 -254
- package/vscode/src/vs/base/common/jsonEdit.js +86 -48
- package/vscode/src/vs/base/common/jsonErrorMessages.js +20 -11
- package/vscode/src/vs/base/common/jsonSchema.d.ts +1 -0
- package/vscode/src/vs/base/common/jsonSchema.js +34 -13
- package/vscode/src/vs/base/common/keyCodes.d.ts +3 -0
- package/vscode/src/vs/base/common/keyCodes.js +1798 -251
- package/vscode/src/vs/base/common/keybindingLabels.js +58 -58
- package/vscode/src/vs/base/common/keybindingParser.js +9 -10
- package/vscode/src/vs/base/common/keybindings.js +19 -41
- package/vscode/src/vs/base/common/labels.js +89 -55
- package/vscode/src/vs/base/common/lazy.js +11 -10
- package/vscode/src/vs/base/common/lifecycle.js +76 -55
- package/vscode/src/vs/base/common/linkedList.js +11 -17
- package/vscode/src/vs/base/common/linkedText.js +13 -9
- package/vscode/src/vs/base/common/map.js +82 -78
- package/vscode/src/vs/base/common/marshalling.js +10 -9
- package/vscode/src/vs/base/common/mime.js +72 -72
- package/vscode/src/vs/base/common/naturalLanguage/korean.js +139 -134
- package/vscode/src/vs/base/common/network.d.ts +6 -0
- package/vscode/src/vs/base/common/network.js +92 -82
- package/vscode/src/vs/base/common/normalization.js +5 -6
- package/vscode/src/vs/base/common/numbers.js +1 -1
- package/vscode/src/vs/base/common/oauth.js +138 -111
- package/vscode/src/vs/base/common/objects.js +13 -17
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/base.js +2 -2
- package/vscode/src/vs/base/common/observableInternal/changeTracker.js +16 -10
- package/vscode/src/vs/base/common/observableInternal/debugLocation.js +5 -6
- package/vscode/src/vs/base/common/observableInternal/debugName.js +5 -6
- package/vscode/src/vs/base/common/observableInternal/experimental/reducer.js +1 -1
- package/vscode/src/vs/base/common/observableInternal/experimental/utils.js +5 -4
- package/vscode/src/vs/base/common/observableInternal/index.js +1 -1
- package/vscode/src/vs/base/common/observableInternal/logging/consoleObservableLogger.js +121 -115
- package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +26 -26
- package/vscode/src/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +17 -16
- package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +155 -81
- package/vscode/src/vs/base/common/observableInternal/logging/debugger/rpc.js +18 -11
- package/vscode/src/vs/base/common/observableInternal/logging/logging.js +2 -4
- package/vscode/src/vs/base/common/observableInternal/map.js +4 -2
- package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.js +16 -11
- package/vscode/src/vs/base/common/observableInternal/observables/constObservable.js +2 -4
- package/vscode/src/vs/base/common/observableInternal/observables/derived.js +7 -5
- package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +58 -34
- package/vscode/src/vs/base/common/observableInternal/observables/lazyObservableValue.js +20 -10
- package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.js +34 -15
- package/vscode/src/vs/base/common/observableInternal/observables/observableSignal.js +4 -6
- package/vscode/src/vs/base/common/observableInternal/observables/observableSignalFromEvent.js +4 -7
- package/vscode/src/vs/base/common/observableInternal/observables/observableValue.js +22 -13
- package/vscode/src/vs/base/common/observableInternal/reactions/autorun.js +17 -8
- package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.js +21 -23
- package/vscode/src/vs/base/common/observableInternal/set.js +4 -2
- package/vscode/src/vs/base/common/observableInternal/transaction.js +15 -14
- package/vscode/src/vs/base/common/observableInternal/utils/promise.js +10 -4
- package/vscode/src/vs/base/common/observableInternal/utils/runOnChange.js +5 -2
- package/vscode/src/vs/base/common/observableInternal/utils/utils.js +28 -27
- package/vscode/src/vs/base/common/observableInternal/utils/utilsCancellation.js +7 -5
- package/vscode/src/vs/base/common/paging.js +15 -15
- package/vscode/src/vs/base/common/path.js +204 -283
- package/vscode/src/vs/base/common/platform.js +52 -54
- package/vscode/src/vs/base/common/policy.d.ts +2 -2
- package/vscode/src/vs/base/common/policy.js +1 -1
- package/vscode/src/vs/base/common/prefixTree.js +19 -10
- package/vscode/src/vs/base/common/processes.js +4 -6
- package/vscode/src/vs/base/common/product.d.ts +5 -12
- package/vscode/src/vs/base/common/resourceTree.js +8 -11
- package/vscode/src/vs/base/common/resources.js +42 -29
- package/vscode/src/vs/base/common/scrollable.js +25 -27
- package/vscode/src/vs/base/common/sseParser.js +41 -42
- package/vscode/src/vs/base/common/stream.js +59 -53
- package/vscode/src/vs/base/common/strings.d.ts +6 -0
- package/vscode/src/vs/base/common/strings.js +172 -126
- package/vscode/src/vs/base/common/ternarySearchTree.js +98 -144
- package/vscode/src/vs/base/common/tfIdf.js +20 -13
- package/vscode/src/vs/base/common/themables.js +26 -18
- package/vscode/src/vs/base/common/types.js +11 -19
- package/vscode/src/vs/base/common/uri.js +98 -137
- package/vscode/src/vs/base/common/uriIpc.js +2 -2
- package/vscode/src/vs/base/common/uriTransformer.d.ts +2 -0
- package/vscode/src/vs/base/common/uriTransformer.js +59 -0
- package/vscode/src/vs/base/common/uuid.js +8 -8
- package/vscode/src/vs/base/common/validation.js +117 -32
- package/vscode/src/vs/base/common/worker/webWorker.js +49 -50
- package/vscode/src/vs/base/common/worker/webWorkerBootstrap.js +4 -7
- package/vscode/src/vs/base/common/yaml.js +161 -147
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +242 -138
- package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +96 -58
- package/vscode/src/vs/base/parts/storage/common/storage.js +31 -19
- package/vscode/src/vs/editor/browser/config/charWidthReader.js +15 -16
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +31 -22
- package/vscode/src/vs/editor/browser/config/elementSizeObserver.js +13 -11
- package/vscode/src/vs/editor/browser/config/fontMeasurements.js +30 -19
- package/vscode/src/vs/editor/browser/config/migrateOptions.js +123 -110
- package/vscode/src/vs/editor/browser/controller/dragScrolling.js +21 -17
- package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.d.ts +101 -11
- package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.js +117 -40
- package/vscode/src/vs/editor/browser/controller/editContext/editContext.d.ts +8 -0
- package/vscode/src/vs/editor/browser/controller/editContext/editContext.js +10 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +7 -5
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +149 -90
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +5 -7
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +46 -34
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +22 -19
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +29 -25
- package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.js +15 -22
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +168 -111
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.d.ts +8 -2
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +134 -102
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js +40 -22
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +115 -79
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +202 -127
- package/vscode/src/vs/editor/browser/controller/pointerHandler.js +59 -32
- package/vscode/src/vs/editor/browser/coreCommands.js +597 -371
- package/vscode/src/vs/editor/browser/dataTransfer.js +6 -11
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +5 -0
- package/vscode/src/vs/editor/browser/editorDom.js +27 -23
- package/vscode/src/vs/editor/browser/editorExtensions.js +119 -85
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +59 -23
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasPage.js +32 -20
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasShelfAllocator.js +6 -6
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasSlabAllocator.js +14 -14
- package/vscode/src/vs/editor/browser/gpu/contentSegmenter.js +3 -1
- package/vscode/src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.d.ts +7 -0
- package/vscode/src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.js +32 -14
- package/vscode/src/vs/editor/browser/gpu/css/decorationStyleCache.js +26 -4
- package/vscode/src/vs/editor/browser/gpu/gpuDisposable.js +4 -5
- package/vscode/src/vs/editor/browser/gpu/gpuUtils.js +9 -15
- package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.js +11 -3
- package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +48 -40
- package/vscode/src/vs/editor/browser/gpu/rectangleRenderer.js +99 -60
- package/vscode/src/vs/editor/browser/gpu/renderStrategy/fullFileRenderStrategy.js +102 -57
- package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.d.ts +1 -0
- package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js +100 -50
- package/vscode/src/vs/editor/browser/gpu/taskQueue.js +5 -5
- package/vscode/src/vs/editor/browser/gpu/viewGpuContext.d.ts +3 -1
- package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +103 -59
- package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +17 -0
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +142 -56
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +160 -123
- package/vscode/src/vs/editor/browser/services/bulkEditService.js +6 -12
- package/vscode/src/vs/editor/browser/services/bulkEditService.service.js +1 -1
- package/vscode/src/vs/editor/browser/services/codeEditorService.service.js +1 -1
- package/vscode/src/vs/editor/browser/services/contribution.js +12 -0
- package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +1 -0
- package/vscode/src/vs/editor/browser/services/editorWorkerService.js +88 -60
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +62 -34
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.js +1 -1
- package/vscode/src/vs/editor/browser/services/markerDecorations.js +5 -9
- package/vscode/src/vs/editor/browser/services/openerService.js +42 -40
- package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.d.ts +40 -0
- package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.js +13 -0
- package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.service.d.ts +10 -0
- package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.service.js +6 -0
- package/vscode/src/vs/editor/browser/stableEditorScroll.js +17 -3
- package/vscode/src/vs/editor/browser/triggerInlineEditCommandsRegistry.js +3 -1
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +133 -89
- package/vscode/src/vs/editor/browser/view/renderingContext.js +6 -2
- package/vscode/src/vs/editor/browser/view/viewController.d.ts +13 -0
- package/vscode/src/vs/editor/browser/view/viewController.js +102 -62
- package/vscode/src/vs/editor/browser/view/viewLayer.js +57 -26
- package/vscode/src/vs/editor/browser/view/viewOverlays.js +11 -13
- package/vscode/src/vs/editor/browser/view/viewPart.d.ts +2 -0
- package/vscode/src/vs/editor/browser/view/viewPart.js +4 -3
- package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +4 -2
- package/vscode/src/vs/editor/browser/view.d.ts +11 -0
- package/vscode/src/vs/editor/browser/view.js +127 -60
- package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +9 -13
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +99 -62
- package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +28 -17
- package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +33 -19
- package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +28 -16
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +25 -26
- package/vscode/src/vs/editor/browser/viewParts/gpuMark/gpuMark.js +6 -4
- package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +110 -69
- package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +25 -19
- package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +5 -5
- package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +13 -10
- package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +3 -3
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +435 -241
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +25 -4
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +17 -10
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimapPreBaked.js +17 -13
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +35 -29
- package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +84 -120
- package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -9
- package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.css +1 -0
- package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +8 -9
- package/vscode/src/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +4 -7
- package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +6 -8
- package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +79 -46
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +43 -39
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +78 -65
- package/vscode/src/vs/editor/browser/viewParts/viewLines/rangeUtil.js +3 -6
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +89 -46
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +86 -50
- package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.d.ts +14 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +244 -118
- package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +57 -54
- package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +64 -49
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +7 -6
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +9 -0
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +508 -286
- package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +24 -15
- package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +56 -52
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +228 -155
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +64 -25
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +98 -42
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +7 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js +11 -11
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +158 -98
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +51 -35
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +71 -19
- package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +15 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +30 -27
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +117 -37
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +131 -84
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +315 -137
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +30 -26
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.service.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +27 -11
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +107 -65
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +200 -136
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +123 -65
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +63 -36
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +16 -13
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +40 -35
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +37 -23
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +56 -37
- package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/editorMarkdownCodeBlockRenderer.js +17 -18
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +13 -3
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +89 -77
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +35 -24
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +10 -6
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +137 -79
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/objectPool.js +2 -4
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css +2 -41
- package/vscode/src/vs/editor/common/commands/replaceCommand.js +13 -6
- package/vscode/src/vs/editor/common/commands/shiftCommand.js +21 -26
- package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -4
- package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +198 -217
- package/vscode/src/vs/editor/common/config/editorOptions.js +1970 -1937
- package/vscode/src/vs/editor/common/config/editorZoom.js +1 -1
- package/vscode/src/vs/editor/common/config/fontInfo.js +23 -28
- package/vscode/src/vs/editor/common/core/2d/point.js +1 -2
- package/vscode/src/vs/editor/common/core/2d/rect.js +14 -18
- package/vscode/src/vs/editor/common/core/2d/size.js +4 -1
- package/vscode/src/vs/editor/common/core/characterClassifier.js +3 -5
- package/vscode/src/vs/editor/common/core/editorColorRegistry.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +337 -171
- package/vscode/src/vs/editor/common/core/edits/edit.js +30 -21
- package/vscode/src/vs/editor/common/core/edits/lengthEdit.js +6 -2
- package/vscode/src/vs/editor/common/core/edits/lineEdit.js +43 -45
- package/vscode/src/vs/editor/common/core/edits/stringEdit.js +59 -26
- package/vscode/src/vs/editor/common/core/edits/textEdit.js +64 -84
- package/vscode/src/vs/editor/common/core/misc/rgba.js +4 -5
- package/vscode/src/vs/editor/common/core/position.js +8 -11
- package/vscode/src/vs/editor/common/core/range.js +10 -26
- package/vscode/src/vs/editor/common/core/ranges/columnRange.js +4 -3
- package/vscode/src/vs/editor/common/core/ranges/lineRange.js +39 -35
- package/vscode/src/vs/editor/common/core/ranges/offsetRange.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/ranges/offsetRange.js +6 -5
- package/vscode/src/vs/editor/common/core/ranges/rangeSingleLine.js +3 -1
- package/vscode/src/vs/editor/common/core/selection.js +17 -15
- package/vscode/src/vs/editor/common/core/stringBuilder.js +6 -7
- package/vscode/src/vs/editor/common/core/text/abstractText.js +2 -2
- package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +11 -7
- package/vscode/src/vs/editor/common/core/text/textLength.js +14 -15
- package/vscode/src/vs/editor/common/core/textChange.js +8 -21
- package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +6 -5
- package/vscode/src/vs/editor/common/core/wordHelper.js +14 -17
- package/vscode/src/vs/editor/common/cursor/cursor.js +221 -80
- package/vscode/src/vs/editor/common/cursor/cursorCollection.js +5 -9
- package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +48 -7
- package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +37 -31
- package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +373 -229
- package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +138 -49
- package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +189 -112
- package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +47 -7
- package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +132 -97
- package/vscode/src/vs/editor/common/cursor/oneCursor.js +18 -8
- package/vscode/src/vs/editor/common/cursorCommon.js +24 -41
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +22 -11
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +6 -12
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +6 -9
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +66 -24
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +71 -36
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +33 -38
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +18 -28
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +4 -2
- package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +139 -48
- package/vscode/src/vs/editor/common/diff/linesDiffComputer.js +5 -3
- package/vscode/src/vs/editor/common/diff/linesDiffComputers.js +1 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +15 -23
- package/vscode/src/vs/editor/common/editorContextKeys.d.ts +1 -0
- package/vscode/src/vs/editor/common/editorContextKeys.js +63 -62
- package/vscode/src/vs/editor/common/inputMode.js +1 -1
- package/vscode/src/vs/editor/common/languageFeatureRegistry.js +24 -29
- package/vscode/src/vs/editor/common/languageSelector.js +45 -37
- package/vscode/src/vs/editor/common/languages/autoIndent.js +74 -44
- package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +47 -21
- package/vscode/src/vs/editor/common/languages/enterAction.js +6 -9
- package/vscode/src/vs/editor/common/languages/language.service.js +1 -1
- package/vscode/src/vs/editor/common/languages/languageConfiguration.js +29 -22
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +47 -46
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.service.js +1 -1
- package/vscode/src/vs/editor/common/languages/linkComputer.js +56 -61
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +24 -25
- package/vscode/src/vs/editor/common/languages/nullTokenize.js +3 -7
- package/vscode/src/vs/editor/common/languages/supports/characterPair.js +21 -11
- package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +19 -13
- package/vscode/src/vs/editor/common/languages/supports/inplaceReplaceSupport.js +15 -12
- package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +15 -12
- package/vscode/src/vs/editor/common/languages/supports/onEnter.js +23 -24
- package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +2 -2
- package/vscode/src/vs/editor/common/languages/supports/tokenization.d.ts +1 -1
- package/vscode/src/vs/editor/common/languages/supports/tokenization.js +82 -70
- package/vscode/src/vs/editor/common/languages/supports.js +9 -2
- package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +49 -46
- package/vscode/src/vs/editor/common/languages.d.ts +24 -3
- package/vscode/src/vs/editor/common/languages.js +184 -150
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +139 -69
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +48 -42
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +15 -9
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +136 -46
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +3 -4
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js +21 -20
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +18 -23
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +2 -5
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js +7 -13
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +21 -22
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +6 -2
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +20 -27
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.d.ts +2 -2
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +23 -14
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +12 -12
- package/vscode/src/vs/editor/common/model/decorationProvider.d.ts +2 -2
- package/vscode/src/vs/editor/common/model/editStack.js +39 -21
- package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +58 -53
- package/vscode/src/vs/editor/common/model/indentationGuesser.js +14 -13
- package/vscode/src/vs/editor/common/model/intervalTree.js +89 -59
- package/vscode/src/vs/editor/common/model/mirrorTextModel.js +16 -9
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +277 -197
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +40 -36
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +23 -14
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +20 -39
- package/vscode/src/vs/editor/common/model/prefixSumComputer.js +2 -4
- package/vscode/src/vs/editor/common/model/textModel.js +553 -278
- package/vscode/src/vs/editor/common/model/textModelPart.js +1 -1
- package/vscode/src/vs/editor/common/model/textModelSearch.js +72 -27
- package/vscode/src/vs/editor/common/model/textModelStringEdit.js +5 -3
- package/vscode/src/vs/editor/common/model/textModelTokens.js +87 -40
- package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +21 -9
- package/vscode/src/vs/editor/common/model/tokens/annotations.js +47 -27
- package/vscode/src/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.d.ts +1 -1
- package/vscode/src/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +39 -27
- package/vscode/src/vs/editor/common/model/tokens/tokenizationTextModelPart.js +58 -35
- package/vscode/src/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +40 -33
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.d.ts +1 -1
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.js +7 -11
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/tokenStore.js +99 -60
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +31 -18
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.d.ts +1 -1
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.js +255 -97
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +1 -1
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +98 -67
- package/vscode/src/vs/editor/common/model.d.ts +1 -1
- package/vscode/src/vs/editor/common/modelLineProjectionData.js +19 -28
- package/vscode/src/vs/editor/common/services/completionsEnablement.d.ts +30 -0
- package/vscode/src/vs/editor/common/services/completionsEnablement.js +32 -0
- package/vscode/src/vs/editor/common/services/editorWebWorker.js +116 -54
- package/vscode/src/vs/editor/common/services/editorWorker.service.js +1 -1
- package/vscode/src/vs/editor/common/services/findSectionHeaders.js +19 -11
- package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +6 -12
- package/vscode/src/vs/editor/common/services/languageFeatureDebounce.service.js +1 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.service.js +1 -1
- package/vscode/src/vs/editor/common/services/languageService.js +6 -4
- package/vscode/src/vs/editor/common/services/languagesAssociations.js +47 -22
- package/vscode/src/vs/editor/common/services/languagesRegistry.js +38 -24
- package/vscode/src/vs/editor/common/services/markerDecorations.service.js +1 -1
- package/vscode/src/vs/editor/common/services/markerDecorationsService.js +56 -57
- package/vscode/src/vs/editor/common/services/model.service.js +1 -1
- package/vscode/src/vs/editor/common/services/modelService.js +134 -79
- package/vscode/src/vs/editor/common/services/resolverService.service.js +1 -1
- package/vscode/src/vs/editor/common/services/semanticTokensDto.js +24 -25
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +61 -33
- package/vscode/src/vs/editor/common/services/semanticTokensStyling.service.js +1 -1
- package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +1 -5
- package/vscode/src/vs/editor/common/services/textModelSync/textModelSync.impl.js +45 -31
- package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.js +2 -2
- package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.js +1 -1
- package/vscode/src/vs/editor/common/services/treeSitter/treeSitterThemeService.service.js +1 -1
- package/vscode/src/vs/editor/common/services/treeViewsDndService.service.js +1 -1
- package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +34 -32
- package/vscode/src/vs/editor/common/standaloneStrings.js +83 -83
- package/vscode/src/vs/editor/common/textModelEditSource.js +62 -37
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +4 -4
- package/vscode/src/vs/editor/common/textModelEvents.js +17 -21
- package/vscode/src/vs/editor/common/textModelGuides.js +9 -4
- package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokens.js +2 -4
- package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.js +3 -5
- package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +37 -15
- package/vscode/src/vs/editor/common/tokens/lineTokens.js +21 -22
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +77 -66
- package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +27 -19
- package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +4 -1
- package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +5 -13
- package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +29 -45
- package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +39 -42
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +24 -17
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +175 -192
- package/vscode/src/vs/editor/common/viewModel/glyphLanesModel.js +1 -2
- package/vscode/src/vs/editor/common/viewModel/inlineDecorations.js +7 -2
- package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -1
- package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +75 -38
- package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +103 -46
- package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +2 -4
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +1 -1
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +20 -7
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +6 -1
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +260 -123
- package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +157 -80
- package/vscode/src/vs/editor/common/viewModel.d.ts +6 -1
- package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +25 -12
- package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +28 -22
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +88 -62
- package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +4 -4
- package/vscode/src/vs/editor/contrib/caretOperations/browser/moveCaretCommand.js +2 -4
- package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +3 -5
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +173 -127
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +128 -99
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.d.ts +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +112 -78
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +27 -22
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.d.ts +3 -0
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +150 -77
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +26 -25
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +48 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +125 -65
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.d.ts +18 -11
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +225 -184
- package/vscode/src/vs/editor/contrib/codeAction/common/types.js +28 -29
- package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +25 -17
- package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.service.js +1 -1
- package/vscode/src/vs/editor/contrib/codelens/browser/codelens.js +23 -22
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +76 -54
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +31 -26
- package/vscode/src/vs/editor/contrib/colorPicker/browser/color.js +43 -15
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +45 -28
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerContribution.js +40 -9
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerModel.js +4 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParticipantUtils.js +13 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerBody.js +8 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +8 -6
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +32 -20
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerInsertButton.js +3 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +24 -13
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +25 -14
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +24 -11
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +8 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +20 -20
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +17 -14
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerController.js +14 -9
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +19 -9
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.js +59 -35
- package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +18 -16
- package/vscode/src/vs/editor/contrib/comment/browser/comment.js +25 -20
- package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +76 -26
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +78 -57
- package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +15 -9
- package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +27 -16
- package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +51 -47
- package/vscode/src/vs/editor/contrib/dnd/browser/dragAndDropCommand.js +8 -19
- package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +22 -30
- package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.service.js +1 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +52 -42
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +172 -191
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +89 -64
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +52 -30
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +8 -10
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +85 -44
- package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +6 -10
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +9 -6
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.service.js +1 -1
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +246 -185
- package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +80 -63
- package/vscode/src/vs/editor/contrib/find/browser/findModel.js +126 -81
- package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +24 -20
- package/vscode/src/vs/editor/contrib/find/browser/findState.js +76 -41
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.css +5 -6
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +235 -180
- package/vscode/src/vs/editor/contrib/find/browser/findWidgetSearchHistory.js +17 -10
- package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +52 -56
- package/vscode/src/vs/editor/contrib/find/browser/replaceWidgetHistory.js +17 -10
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js +5 -1
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +28 -20
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.d.ts +9 -0
- package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +77 -35
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +243 -169
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +143 -110
- package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +62 -48
- package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +23 -34
- package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.js +8 -5
- package/vscode/src/vs/editor/contrib/folding/browser/indentRangeProvider.js +21 -12
- package/vscode/src/vs/editor/contrib/folding/browser/syntaxRangeProvider.js +17 -10
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +6 -6
- package/vscode/src/vs/editor/contrib/format/browser/format.js +141 -58
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +90 -40
- package/vscode/src/vs/editor/contrib/format/browser/formattingEdit.js +6 -7
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.d.ts +14 -1
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +65 -35
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +138 -86
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +13 -32
- package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.service.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +276 -190
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +121 -38
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +39 -31
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +68 -47
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +95 -67
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +46 -36
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +106 -79
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +39 -38
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +27 -25
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.service.js +1 -1
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +96 -90
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +3 -4
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +36 -33
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +78 -54
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +8 -7
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +108 -58
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.js +39 -29
- package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +18 -9
- package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverComputer.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverController.js +27 -18
- package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverWidget.js +39 -32
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +59 -48
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +17 -17
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +58 -59
- package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +16 -4
- package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +5 -8
- package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +22 -22
- package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.d.ts +9 -0
- package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.js +6 -5
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +110 -77
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +82 -56
- package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +11 -7
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +29 -20
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +104 -78
- package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +9 -9
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +16 -16
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +147 -95
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.service.js +1 -1
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +51 -39
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +34 -28
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +116 -105
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +48 -22
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +192 -101
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +41 -34
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +149 -93
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +10 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +10 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +13 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.js +16 -17
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +81 -54
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +22 -37
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.js +13 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +2 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +324 -211
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +155 -101
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +145 -71
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +175 -62
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.d.ts +50 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +230 -77
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/singleTextEditHelpers.js +2 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +31 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.js +31 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +12 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +12 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.css +7 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +3 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +143 -86
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +110 -93
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +14 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +200 -160
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +20 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +65 -51
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +190 -122
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +12 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +15 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +45 -43
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +70 -59
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +51 -49
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +106 -85
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +156 -123
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +252 -202
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +224 -205
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +74 -59
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +239 -148
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +102 -73
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +36 -14
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +84 -55
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +91 -58
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +10 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +69 -48
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +59 -36
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +20 -18
- package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +4 -2
- package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +8 -4
- package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +14 -10
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +216 -196
- package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +79 -50
- package/vscode/src/vs/editor/contrib/linesOperations/browser/sortLinesCommand.js +4 -2
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +62 -40
- package/vscode/src/vs/editor/contrib/links/browser/getLinks.js +14 -12
- package/vscode/src/vs/editor/contrib/links/browser/links.js +85 -76
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +77 -49
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +16 -14
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +178 -104
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +29 -19
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +47 -33
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +83 -76
- package/vscode/src/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.js +17 -13
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +145 -59
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.service.js +1 -1
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +6 -2
- package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +33 -24
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +69 -37
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +113 -85
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +14 -7
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +137 -105
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css +1 -1
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +218 -155
- package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +25 -21
- package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +60 -39
- package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +37 -17
- package/vscode/src/vs/editor/contrib/semanticTokens/common/getSemanticTokens.js +66 -42
- package/vscode/src/vs/editor/contrib/smartSelect/browser/bracketSelections.js +32 -14
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +59 -48
- package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +19 -12
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +78 -41
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +168 -214
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +211 -95
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +127 -131
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +34 -30
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +129 -103
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +59 -50
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +22 -18
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +130 -82
- package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +54 -44
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +85 -61
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestAlternatives.js +20 -9
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +267 -181
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +60 -33
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +48 -38
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.service.js +1 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +113 -72
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.js +7 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +305 -227
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +128 -73
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +91 -68
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +24 -17
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +18 -12
- package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +9 -5
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +113 -113
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +12 -9
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -2
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +25 -22
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +181 -138
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +20 -18
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +74 -41
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +10 -6
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +165 -118
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +129 -64
- package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +26 -14
- package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +80 -52
- package/vscode/src/vs/editor/editor.worker.start.js +3 -3
- package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +16 -9
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +101 -43
- package/vscode/src/vs/editor/standalone/browser/services/standaloneWebWorkerService.d.ts +1 -0
- package/vscode/src/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +11 -6
- package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +125 -83
- package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +4 -8
- package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +13 -9
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +340 -185
- package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +46 -43
- package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.d.ts +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js +2 -2
- package/vscode/src/vs/editor/standalone/common/standaloneTheme.service.js +1 -1
- package/vscode/src/vs/nls.d.ts +2 -1
- package/vscode/src/vs/nls.js +16 -14
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +16 -20
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +1 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.service.js +1 -1
- package/vscode/src/vs/platform/accessibility/common/accessibility.js +5 -6
- package/vscode/src/vs/platform/accessibility/common/accessibility.service.js +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +572 -347
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.js +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +1 -3
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +26 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +182 -102
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +19 -5
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +65 -40
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.js +1 -1
- package/vscode/src/vs/platform/actions/browser/actionViewItemService.service.js +1 -1
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +45 -45
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +15 -17
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +167 -117
- package/vscode/src/vs/platform/actions/browser/toolbar.js +79 -46
- package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
- package/vscode/src/vs/platform/actions/common/actions.js +763 -254
- package/vscode/src/vs/platform/actions/common/actions.service.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +3 -3
- package/vscode/src/vs/platform/actions/common/menuService.js +132 -94
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +77 -64
- package/vscode/src/vs/platform/clipboard/common/clipboardService.service.js +1 -1
- package/vscode/src/vs/platform/commands/common/commands.js +15 -7
- package/vscode/src/vs/platform/commands/common/commands.service.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configuration.js +63 -70
- package/vscode/src/vs/platform/configuration/common/configuration.service.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationModels.js +287 -100
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +1 -0
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +254 -154
- package/vscode/src/vs/platform/configuration/common/configurations.js +54 -36
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +68 -48
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +234 -197
- package/vscode/src/vs/platform/contextkey/common/contextkey.service.js +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +11 -11
- package/vscode/src/vs/platform/contextkey/common/scanner.js +171 -143
- package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +36 -18
- package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +17 -14
- package/vscode/src/vs/platform/contextview/browser/contextView.service.js +2 -2
- package/vscode/src/vs/platform/contextview/browser/contextViewService.js +4 -9
- package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +7 -7
- package/vscode/src/vs/platform/dataChannel/common/dataChannel.service.js +1 -1
- package/vscode/src/vs/platform/debug/common/extensionHostDebug.d.ts +1 -0
- package/vscode/src/vs/platform/debug/common/extensionHostDebug.service.js +1 -1
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +14 -0
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +11 -2
- package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.js +1 -1
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +5 -0
- package/vscode/src/vs/platform/dialogs/browser/dialog.js +20 -15
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +39 -39
- package/vscode/src/vs/platform/dialogs/common/dialogs.service.js +2 -2
- package/vscode/src/vs/platform/dnd/browser/dnd.js +56 -47
- package/vscode/src/vs/platform/download/common/download.service.js +1 -1
- package/vscode/src/vs/platform/encryption/common/encryptionService.service.js +1 -1
- package/vscode/src/vs/platform/environment/common/environment.service.d.ts +2 -0
- package/vscode/src/vs/platform/environment/common/environment.service.js +1 -1
- package/vscode/src/vs/platform/environment/common/environmentService.d.ts +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +37 -17
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.js +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +160 -151
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.js +5 -5
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +26 -19
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +11 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +57 -32
- package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.service.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +127 -78
- package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.service.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +443 -243
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.service.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +3 -4
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.d.ts +2 -1
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +91 -28
- package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.service.js +1 -1
- package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.service.js +1 -1
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +99 -69
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +12 -5
- package/vscode/src/vs/platform/extensions/common/extensions.js +47 -39
- package/vscode/src/vs/platform/extensions/common/extensions.service.js +1 -1
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +26 -6
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +178 -158
- package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +9 -7
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +145 -84
- package/vscode/src/vs/platform/files/common/files.d.ts +21 -1
- package/vscode/src/vs/platform/files/common/files.js +108 -79
- package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -0
- package/vscode/src/vs/platform/files/common/files.service.js +1 -1
- package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +121 -39
- package/vscode/src/vs/platform/files/common/watcher.js +18 -9
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +27 -23
- package/vscode/src/vs/platform/hover/browser/hover.js +17 -18
- package/vscode/src/vs/platform/hover/browser/hover.service.js +1 -1
- package/vscode/src/vs/platform/hover/browser/hoverService.d.ts +27 -5
- package/vscode/src/vs/platform/hover/browser/hoverService.js +251 -113
- package/vscode/src/vs/platform/hover/browser/hoverWidget.d.ts +8 -0
- package/vscode/src/vs/platform/hover/browser/hoverWidget.js +180 -131
- package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +9 -13
- package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.js +1 -1
- package/vscode/src/vs/platform/instantiation/common/extensions.js +1 -1
- package/vscode/src/vs/platform/instantiation/common/graph.js +3 -3
- package/vscode/src/vs/platform/instantiation/common/instantiation.js +15 -10
- package/vscode/src/vs/platform/instantiation/common/instantiationService.js +100 -58
- package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +3 -3
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +1 -0
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +132 -62
- package/vscode/src/vs/platform/keybinding/common/baseResolvedKeybinding.js +16 -8
- package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +5 -0
- package/vscode/src/vs/platform/keybinding/common/keybinding.service.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +38 -26
- package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +10 -8
- package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +118 -69
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +12 -12
- package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.service.js +1 -1
- package/vscode/src/vs/platform/label/common/label.service.js +1 -1
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +11 -16
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.js +1 -1
- package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
- package/vscode/src/vs/platform/layout/browser/layoutService.service.js +1 -1
- package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +3 -3
- package/vscode/src/vs/platform/list/browser/listService.js +579 -357
- package/vscode/src/vs/platform/list/browser/listService.service.js +1 -1
- package/vscode/src/vs/platform/log/browser/log.js +15 -5
- package/vscode/src/vs/platform/log/common/bufferLog.js +9 -4
- package/vscode/src/vs/platform/log/common/log.js +136 -96
- package/vscode/src/vs/platform/log/common/log.service.js +2 -2
- package/vscode/src/vs/platform/markdown/browser/markdownRenderer.js +7 -8
- package/vscode/src/vs/platform/markdown/browser/markdownRenderer.service.js +1 -1
- package/vscode/src/vs/platform/markers/common/markerService.js +50 -32
- package/vscode/src/vs/platform/markers/common/markers.js +44 -45
- package/vscode/src/vs/platform/markers/common/markers.service.js +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.service.js +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpManagement.d.ts +1 -0
- package/vscode/src/vs/platform/mcp/common/mcpManagement.js +2 -1
- package/vscode/src/vs/platform/mcp/common/mcpManagement.service.js +3 -3
- package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.js +1 -1
- package/vscode/src/vs/platform/native/common/native.d.ts +10 -0
- package/vscode/src/vs/platform/notification/common/notification.js +15 -15
- package/vscode/src/vs/platform/notification/common/notification.service.js +1 -1
- package/vscode/src/vs/platform/observable/common/observableMemento.js +4 -8
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +12 -3
- package/vscode/src/vs/platform/observable/common/wrapInHotClass.js +1 -1
- package/vscode/src/vs/platform/opener/browser/link.js +26 -32
- package/vscode/src/vs/platform/opener/common/opener.service.js +1 -1
- package/vscode/src/vs/platform/policy/common/policy.d.ts +2 -2
- package/vscode/src/vs/platform/policy/common/policy.js +24 -6
- package/vscode/src/vs/platform/policy/common/policy.service.js +1 -1
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/product/common/productService.service.js +1 -1
- package/vscode/src/vs/platform/progress/common/progress.js +17 -12
- package/vscode/src/vs/platform/progress/common/progress.service.js +2 -2
- package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +3 -11
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +79 -76
- package/vscode/src/vs/platform/quickinput/browser/quickAccess.d.ts +3 -1
- package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +20 -17
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +163 -141
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +120 -49
- package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +22 -17
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +354 -257
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +297 -272
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +33 -21
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +40 -33
- package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +16 -14
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +8 -9
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +67 -60
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +58 -33
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +77 -37
- package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +11 -4
- package/vscode/src/vs/platform/quickinput/common/quickAccess.js +14 -9
- package/vscode/src/vs/platform/quickinput/common/quickInput.js +9 -6
- package/vscode/src/vs/platform/quickinput/common/quickInput.service.js +1 -1
- package/vscode/src/vs/platform/registry/common/platform.js +2 -2
- package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +268 -131
- package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
- package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.service.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteHosts.js +26 -8
- package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.service.js +1 -1
- package/vscode/src/vs/platform/request/common/request.js +188 -195
- package/vscode/src/vs/platform/request/common/request.service.js +1 -1
- package/vscode/src/vs/platform/secrets/common/secrets.service.js +1 -1
- package/vscode/src/vs/platform/storage/common/storage.js +148 -89
- package/vscode/src/vs/platform/storage/common/storage.service.js +1 -1
- package/vscode/src/vs/platform/telemetry/common/commonProperties.js +1 -1
- package/vscode/src/vs/platform/telemetry/common/telemetry.service.js +2 -2
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +76 -63
- package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +7 -3
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +2 -1
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.js +94 -84
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +119 -54
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +219 -105
- package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +1 -1
- package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +8 -4
- package/vscode/src/vs/platform/terminal/common/capabilities/promptTypeDetectionCapability.js +3 -1
- package/vscode/src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.js +5 -3
- package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +108 -67
- package/vscode/src/vs/platform/terminal/common/environmentVariableShared.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/environmentVariableShared.js +9 -2
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -5
- package/vscode/src/vs/platform/terminal/common/terminal.js +29 -23
- package/vscode/src/vs/platform/terminal/common/terminal.service.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminalDataBuffering.js +2 -2
- package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +212 -231
- package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +10 -16
- package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +157 -100
- package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +12 -6
- package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +26 -14
- package/vscode/src/vs/platform/theme/common/colorUtils.js +104 -56
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +130 -45
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +18 -8
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +484 -164
- package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +1 -0
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +226 -60
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +203 -90
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +22 -7
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +33 -13
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +92 -22
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +43 -15
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +18 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +76 -36
- package/vscode/src/vs/platform/theme/common/themeService.d.ts +2 -2
- package/vscode/src/vs/platform/theme/common/themeService.js +16 -9
- package/vscode/src/vs/platform/theme/common/themeService.service.js +1 -1
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +193 -158
- package/vscode/src/vs/platform/tunnel/common/tunnel.js +103 -46
- package/vscode/src/vs/platform/tunnel/common/tunnel.service.js +1 -1
- package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +13 -5
- package/vscode/src/vs/platform/undoRedo/common/undoRedo.service.js +1 -1
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +170 -116
- package/vscode/src/vs/platform/update/common/update.d.ts +23 -8
- package/vscode/src/vs/platform/update/common/update.js +5 -3
- package/vscode/src/vs/platform/update/common/update.service.d.ts +1 -0
- package/vscode/src/vs/platform/update/common/update.service.js +1 -1
- package/vscode/src/vs/platform/uriIdentity/common/uriIdentity.service.js +1 -1
- package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +16 -10
- package/vscode/src/vs/platform/url/common/trustedDomains.js +8 -8
- package/vscode/src/vs/platform/url/common/url.service.js +1 -1
- package/vscode/src/vs/platform/url/common/urlGlob.js +60 -28
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +18 -5
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +231 -113
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.service.js +1 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.service.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/abstractJsonSynchronizer.js +151 -70
- package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +441 -204
- package/vscode/src/vs/platform/userDataSync/common/extensionsMerge.js +116 -35
- package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +380 -169
- package/vscode/src/vs/platform/userDataSync/common/globalStateMerge.js +79 -14
- package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +279 -134
- package/vscode/src/vs/platform/userDataSync/common/ignoredExtensions.service.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +182 -39
- package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +169 -110
- package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +194 -84
- package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +166 -95
- package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +53 -19
- package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +291 -125
- package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +43 -29
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +64 -58
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.js +9 -9
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.service.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +75 -39
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.service.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +296 -165
- package/vscode/src/vs/platform/webContentExtractor/common/webContentExtractor.js +2 -2
- package/vscode/src/vs/platform/webContentExtractor/common/webContentExtractor.service.js +2 -2
- package/vscode/src/vs/platform/webWorker/browser/webWorkerDescriptor.d.ts +1 -1
- package/vscode/src/vs/platform/webWorker/browser/webWorkerService.service.js +1 -1
- package/vscode/src/vs/platform/webWorker/browser/webWorkerServiceImpl.d.ts +1 -0
- package/vscode/src/vs/platform/webWorker/browser/webWorkerServiceImpl.js +68 -53
- package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
- package/vscode/src/vs/platform/workspace/common/canonicalUri.service.js +1 -1
- package/vscode/src/vs/platform/workspace/common/editSessions.service.js +1 -1
- package/vscode/src/vs/platform/workspace/common/workspace.d.ts +7 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +59 -33
- package/vscode/src/vs/platform/workspace/common/workspace.service.js +1 -1
- package/vscode/src/vs/platform/workspace/common/workspaceTrust.d.ts +4 -0
- package/vscode/src/vs/platform/workspace/common/workspaceTrust.service.d.ts +4 -1
- package/vscode/src/vs/platform/workspace/common/workspaceTrust.service.js +3 -3
- package/vscode/src/vs/platform/workspaces/common/workspaces.js +87 -44
- package/vscode/src/vs/platform/workspaces/common/workspaces.service.js +1 -1
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.d.ts +4 -0
- package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +163 -0
- package/vscode/src/vs/workbench/api/browser/statusBarService.js +60 -26
- package/vscode/src/vs/workbench/api/common/cache.js +3 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +402 -233
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +74 -29
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +177 -175
- package/vscode/src/vs/workbench/api/common/extHostAiRelatedInformation.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +725 -733
- package/vscode/src/vs/workbench/api/common/extHostApiDeprecationService.js +4 -7
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +264 -192
- package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +1 -3
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +16 -11
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +399 -225
- package/vscode/src/vs/workbench/api/common/extHostChatContext.d.ts +23 -8
- package/vscode/src/vs/workbench/api/common/extHostChatContext.js +211 -80
- package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +13 -3
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +12 -3
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +418 -93
- package/vscode/src/vs/workbench/api/common/extHostChatStatus.js +5 -5
- package/vscode/src/vs/workbench/api/common/extHostCodeInsets.js +18 -5
- package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +3 -1
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +149 -135
- package/vscode/src/vs/workbench/api/common/extHostComments.js +172 -99
- package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +82 -60
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +17 -20
- package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +69 -32
- package/vscode/src/vs/workbench/api/common/extHostDataChannels.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +197 -149
- package/vscode/src/vs/workbench/api/common/extHostDecorations.js +42 -22
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +96 -45
- package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +14 -11
- package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +92 -48
- package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +49 -21
- package/vscode/src/vs/workbench/api/common/extHostDocuments.js +16 -18
- package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +4 -8
- package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +85 -82
- package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +6 -3
- package/vscode/src/vs/workbench/api/common/extHostEmbeddingVector.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +38 -21
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +304 -188
- package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +72 -51
- package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +82 -60
- package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +106 -41
- package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostInitDataService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostInteractive.js +36 -24
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +908 -333
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +4 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +117 -59
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +4 -5
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +219 -105
- package/vscode/src/vs/workbench/api/common/extHostLanguages.js +8 -6
- package/vscode/src/vs/workbench/api/common/extHostLocalizationService.js +21 -17
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +6 -7
- package/vscode/src/vs/workbench/api/common/extHostLoggerService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLoggerService.js +5 -11
- package/vscode/src/vs/workbench/api/common/extHostManagedSockets.js +5 -5
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +24 -15
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +357 -221
- package/vscode/src/vs/workbench/api/common/extHostMemento.js +8 -7
- package/vscode/src/vs/workbench/api/common/extHostMessageService.js +31 -20
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +108 -77
- package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +101 -61
- package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +34 -12
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +23 -7
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -4
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +119 -89
- package/vscode/src/vs/workbench/api/common/extHostNotebookRenderers.js +5 -2
- package/vscode/src/vs/workbench/api/common/extHostOutput.js +59 -31
- package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +38 -19
- package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +11 -4
- package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +154 -84
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +65 -43
- package/vscode/src/vs/workbench/api/common/extHostRpcService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +318 -201
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +24 -17
- package/vscode/src/vs/workbench/api/common/extHostSecretState.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +3 -1
- package/vscode/src/vs/workbench/api/common/extHostShare.js +14 -3
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +13 -4
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +63 -38
- package/vscode/src/vs/workbench/api/common/extHostStorage.js +10 -5
- package/vscode/src/vs/workbench/api/common/extHostStoragePaths.js +13 -18
- package/vscode/src/vs/workbench/api/common/extHostTask.js +129 -114
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +76 -61
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +238 -116
- package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +76 -37
- package/vscode/src/vs/workbench/api/common/extHostTestItem.js +43 -24
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +197 -115
- package/vscode/src/vs/workbench/api/common/extHostTestingPrivateApi.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +118 -79
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +32 -24
- package/vscode/src/vs/workbench/api/common/extHostTheming.js +12 -14
- package/vscode/src/vs/workbench/api/common/extHostTimeline.js +30 -17
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +259 -135
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +60 -49
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +13 -16
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +1198 -1037
- package/vscode/src/vs/workbench/api/common/extHostTypes/codeActionKind.js +18 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes/diagnostic.js +14 -26
- package/vscode/src/vs/workbench/api/common/extHostTypes/location.js +7 -12
- package/vscode/src/vs/workbench/api/common/extHostTypes/markdownString.js +6 -6
- package/vscode/src/vs/workbench/api/common/extHostTypes/notebooks.js +24 -31
- package/vscode/src/vs/workbench/api/common/extHostTypes/position.js +29 -34
- package/vscode/src/vs/workbench/api/common/extHostTypes/range.js +15 -27
- package/vscode/src/vs/workbench/api/common/extHostTypes/selection.js +8 -15
- package/vscode/src/vs/workbench/api/common/extHostTypes/snippetString.js +21 -25
- package/vscode/src/vs/workbench/api/common/extHostTypes/snippetTextEdit.js +1 -2
- package/vscode/src/vs/workbench/api/common/extHostTypes/symbolInformation.js +6 -9
- package/vscode/src/vs/workbench/api/common/extHostTypes/textEdit.js +12 -15
- package/vscode/src/vs/workbench/api/common/extHostTypes/workspaceEdit.js +85 -34
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +81 -7
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +515 -511
- package/vscode/src/vs/workbench/api/common/extHostUriOpener.js +3 -1
- package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostUrls.js +9 -8
- package/vscode/src/vs/workbench/api/common/extHostVariableResolverService.js +27 -18
- package/vscode/src/vs/workbench/api/common/extHostWebview.js +67 -38
- package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +66 -34
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +40 -21
- package/vscode/src/vs/workbench/api/common/extHostWebviewView.js +25 -12
- package/vscode/src/vs/workbench/api/common/extHostWindow.js +31 -24
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +6 -0
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +276 -136
- package/vscode/src/vs/workbench/api/common/extensionHostMain.js +30 -20
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +57 -45
- package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.js +1 -4
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +23 -17
- package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +41 -33
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +255 -243
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +570 -451
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +66 -46
- package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +33 -22
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +158 -101
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +114 -63
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +102 -82
- package/vscode/src/vs/workbench/browser/codeeditor.js +38 -39
- package/vscode/src/vs/workbench/browser/composite.js +5 -3
- package/vscode/src/vs/workbench/browser/contextkeys.d.ts +5 -1
- package/vscode/src/vs/workbench/browser/contextkeys.js +89 -47
- package/vscode/src/vs/workbench/browser/dnd.js +220 -101
- package/vscode/src/vs/workbench/browser/editor.js +34 -15
- package/vscode/src/vs/workbench/browser/labels.js +150 -93
- package/vscode/src/vs/workbench/browser/panecomposite.js +31 -26
- package/vscode/src/vs/workbench/browser/part.js +47 -23
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +214 -170
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +115 -91
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +93 -60
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css +7 -2
- package/vscode/src/vs/workbench/browser/parts/compositeBar.js +140 -68
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +219 -153
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +80 -36
- package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +137 -67
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +27 -14
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +12 -16
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +144 -139
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +276 -174
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +6 -11
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +136 -110
- package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +57 -52
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +108 -94
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +716 -420
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +116 -68
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +734 -435
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +62 -21
- package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +172 -117
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +545 -296
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +116 -66
- package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +38 -19
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +99 -48
- package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +289 -176
- package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +108 -65
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +119 -87
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +113 -64
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.d.ts +0 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +502 -334
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +96 -49
- package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +50 -32
- package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.d.ts +0 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +27 -26
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +104 -41
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css +0 -2
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +634 -447
- package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +37 -16
- package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +11 -13
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +141 -73
- package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +94 -59
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +8 -4
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +74 -48
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +96 -42
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +76 -36
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +312 -184
- package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css +25 -4
- package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css +0 -2
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +75 -51
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +6 -9
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +128 -88
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +85 -38
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +37 -32
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +39 -37
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +124 -87
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +138 -91
- package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +290 -130
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +139 -100
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.d.ts +0 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +144 -104
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +62 -53
- package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css +7 -2
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +75 -46
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +279 -162
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +118 -75
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +134 -77
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +18 -10
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +546 -377
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +56 -43
- package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.js +27 -15
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +250 -152
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +360 -247
- package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +22 -16
- package/vscode/src/vs/workbench/browser/quickaccess.js +15 -11
- package/vscode/src/vs/workbench/browser/style.js +13 -11
- package/vscode/src/vs/workbench/browser/window.js +149 -105
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +988 -1077
- package/vscode/src/vs/workbench/common/component.js +1 -2
- package/vscode/src/vs/workbench/common/configuration.js +103 -84
- package/vscode/src/vs/workbench/common/contextkeys.d.ts +31 -19
- package/vscode/src/vs/workbench/common/contextkeys.js +190 -147
- package/vscode/src/vs/workbench/common/contributions.js +129 -57
- package/vscode/src/vs/workbench/common/editor/binaryEditorModel.js +2 -4
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +78 -41
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +108 -87
- package/vscode/src/vs/workbench/common/editor/editorInput.js +4 -2
- package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +42 -14
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +51 -38
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +39 -24
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +27 -25
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +67 -31
- package/vscode/src/vs/workbench/common/editor/textResourceEditorModel.js +15 -8
- package/vscode/src/vs/workbench/common/editor.js +121 -77
- package/vscode/src/vs/workbench/common/memento.js +41 -30
- package/vscode/src/vs/workbench/common/notifications.js +103 -56
- package/vscode/src/vs/workbench/common/resources.js +15 -16
- package/vscode/src/vs/workbench/common/theme.js +514 -396
- package/vscode/src/vs/workbench/common/views.js +61 -31
- package/vscode/src/vs/workbench/common/views.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +724 -723
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +75 -88
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +46 -37
- package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +21 -11
- package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +9 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +41 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +430 -327
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +12 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +116 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +23 -13
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +352 -151
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.service.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.js +82 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service.d.ts +47 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.js +7 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +91 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +42 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.js +27 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +11 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +10 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +64 -56
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +10 -3
- package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +275 -246
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +18 -2
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +89 -45
- package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chat.js +7 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +17 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +105 -81
- package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +160 -29
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +103 -52
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +52 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +14 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +20 -3
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +47 -25
- package/vscode/src/vs/workbench/contrib/chat/common/contextContrib/chatContext.d.ts +14 -7
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatCodeMapperService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.d.ts +27 -20
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +25 -35
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.service.d.ts +1 -9
- package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +6 -9
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +108 -18
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +759 -127
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +16 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +136 -38
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +521 -431
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatStreamStats.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +26 -26
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +45 -71
- package/vscode/src/vs/workbench/contrib/chat/common/model/chatWordCounter.js +10 -21
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +20 -1
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +136 -79
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +227 -108
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +34 -3
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +55 -34
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +69 -26
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +98 -41
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +14 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +221 -96
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +8 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +40 -25
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +57 -22
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +12 -2
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +20 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.d.ts +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.js +14 -0
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.js +109 -47
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +23 -36
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +24 -25
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +56 -39
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +2 -6
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +130 -169
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +10 -5
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +141 -90
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +1 -3
- package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +11 -24
- package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +471 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +91 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +137 -59
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +64 -12
- package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatLayoutService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +4 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -6
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +93 -100
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +54 -49
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +21 -27
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +46 -26
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +11 -9
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +39 -22
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +77 -62
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +277 -121
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +24 -19
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +69 -43
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +157 -94
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +28 -19
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +153 -83
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +9 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +25 -23
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +9 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +13 -12
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +58 -46
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +25 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.d.ts +72 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +968 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +38 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +23 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +71 -37
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +212 -162
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +117 -70
- package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +19 -12
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +63 -40
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +33 -22
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +7 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +88 -44
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +116 -74
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +26 -16
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +322 -177
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +41 -25
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +181 -133
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +149 -117
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +45 -39
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css +0 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +33 -25
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +95 -50
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +46 -32
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +5 -3
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +114 -68
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +57 -41
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +323 -212
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +245 -169
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +966 -672
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +49 -30
- package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +203 -130
- package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +105 -77
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +312 -213
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +289 -209
- package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +254 -158
- package/vscode/src/vs/workbench/contrib/debug/browser/debugExpressionRenderer.js +100 -72
- package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +117 -70
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +120 -58
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +46 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +52 -24
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.d.ts +10 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +198 -80
- package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +322 -225
- package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +27 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +132 -84
- package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +241 -154
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +19 -20
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +366 -344
- package/vscode/src/vs/workbench/contrib/debug/common/debug.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +304 -176
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +34 -34
- package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +97 -86
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +5 -3
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +68 -15
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +51 -64
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +16 -10
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +64 -62
- package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/dropOrPasteInto.contribution.js +11 -4
- package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/randomService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +142 -120
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +15 -11
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +20 -15
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +538 -320
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +16 -16
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +245 -188
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +229 -119
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +67 -34
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +944 -825
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +1732 -1043
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +3 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +31 -17
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +28 -19
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +52 -47
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +81 -50
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +35 -29
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +181 -104
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +411 -353
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +536 -379
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +347 -241
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +964 -561
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +76 -45
- package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +5 -5
- package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +6 -6
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css +3 -3
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css +2 -2
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +8 -9
- package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +14 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +24 -10
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +6 -7
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +57 -31
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +29 -23
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +29 -33
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +28 -28
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +9 -5
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +33 -25
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +7 -5
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +40 -38
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +27 -32
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +40 -36
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +22 -18
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +16 -8
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +45 -30
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +96 -64
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +41 -20
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +149 -88
- package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +76 -64
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +180 -126
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +467 -314
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +124 -50
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +173 -71
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +34 -34
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +214 -157
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +284 -295
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +36 -18
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._fileEditorFactory.js +21 -3
- package/vscode/src/vs/workbench/contrib/files/browser/files.js +10 -9
- package/vscode/src/vs/workbench/contrib/files/browser/files.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +45 -26
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -14
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +249 -192
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +595 -415
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +278 -187
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +56 -35
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +9 -10
- package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +45 -41
- package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +69 -35
- package/vscode/src/vs/workbench/contrib/files/common/files.js +116 -105
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +35 -23
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +170 -105
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +17 -16
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +19 -7
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +53 -35
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +4 -23
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveDocumentService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +36 -25
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/browser/issueTroubleshoot.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +9 -3
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +14 -12
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +102 -94
- package/vscode/src/vs/workbench/contrib/markdown/common/markedKatexExtension.js +23 -24
- package/vscode/src/vs/workbench/contrib/markers/common/markers.js +29 -29
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +384 -194
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.js +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +158 -144
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +112 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.d.ts +36 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.js +126 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +220 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +1027 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.js +177 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +27 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +109 -102
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.js +61 -7
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +814 -193
- package/vscode/src/vs/workbench/contrib/mcp/common/uriTemplate.d.ts +37 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/uriTemplate.js +269 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +75 -49
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +179 -160
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +15 -14
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +4 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +43 -21
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +136 -96
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +126 -60
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +4 -9
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +23 -24
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +17 -19
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +37 -18
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +33 -29
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +205 -0
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +97 -70
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +2 -2
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +96 -47
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +19 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +42 -30
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +88 -55
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +222 -172
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +62 -52
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +64 -67
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +59 -48
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +935 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +29 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +31 -35
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +25 -30
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookCellLayoutManager.js +7 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +206 -132
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +11 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +822 -586
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +128 -135
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +12 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +36 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +44 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +30 -35
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +97 -48
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +32 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +61 -64
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +26 -37
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +54 -38
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +248 -156
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +3 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +131 -101
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +63 -43
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +231 -152
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +16 -20
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +36 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +12 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +31 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +94 -83
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.js +21 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +290 -222
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +61 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +544 -426
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +235 -145
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +732 -544
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +92 -56
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +133 -72
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +34 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputTextHelper.js +34 -37
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +19 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +108 -96
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +9 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +34 -20
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +75 -71
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +200 -88
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +111 -64
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +227 -121
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +44 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +254 -156
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +72 -62
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +35 -33
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +38 -30
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +35 -34
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +83 -53
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCellStatusBarService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +150 -131
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +48 -48
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +86 -65
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +102 -72
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +9 -9
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookRendererMessagingService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -8
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +85 -50
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +15 -15
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +126 -111
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +228 -273
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +210 -206
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +90 -97
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +33 -28
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +281 -176
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +21 -17
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +537 -386
- package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +38 -22
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +197 -118
- package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +69 -50
- package/vscode/src/vs/workbench/contrib/scm/browser/util.js +40 -29
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +78 -37
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +41 -40
- package/vscode/src/vs/workbench/contrib/scm/common/scm.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/scm/common/scm.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/AISearch/aiSearchModel.js +80 -49
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +227 -129
- package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css +1 -0
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModel.js +75 -50
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +38 -38
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +9 -12
- package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +68 -41
- package/vscode/src/vs/workbench/contrib/search/browser/replace.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +4 -12
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +162 -147
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +55 -57
- package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +106 -83
- package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +15 -15
- package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +22 -22
- package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +21 -20
- package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +216 -163
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/fileMatch.js +89 -62
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/folderMatch.js +196 -76
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/match.js +34 -22
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/rangeDecorations.js +16 -15
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon.js +23 -42
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchViewModelWorkbenchService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/textSearchHeading.js +25 -34
- package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +715 -489
- package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +205 -154
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +66 -44
- package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +11 -5
- package/vscode/src/vs/workbench/contrib/search/common/constants.js +29 -29
- package/vscode/src/vs/workbench/contrib/search/common/notebookSearch.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/common/search.js +16 -19
- package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.js +15 -11
- package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +5 -5
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +9 -9
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +82 -46
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +147 -76
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +64 -17
- package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +150 -100
- package/vscode/src/vs/workbench/contrib/share/common/share.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +60 -27
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.service.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +108 -45
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +122 -104
- package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +41 -28
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +74 -74
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +3 -3
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -12
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +242 -182
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +10 -10
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +21 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +28 -11
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +7 -7
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +34 -37
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +10 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +13 -20
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +21 -13
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +568 -594
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +54 -38
- package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +67 -86
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +16 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +160 -150
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.js +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +159 -159
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +29 -30
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
- package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +11 -10
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +405 -271
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +6 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +5 -5
- package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +6 -4
- package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/links.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +18 -6
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.d.ts +6 -9
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +125 -140
- package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +26 -33
- package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +8 -10
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +15 -15
- package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -7
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +27 -21
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testId.js +5 -5
- package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +126 -86
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +90 -44
- package/vscode/src/vs/workbench/contrib/testing/common/testResultService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +149 -128
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingPeekOpener.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +17 -12
- package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +10 -18
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +17 -15
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +68 -45
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +12 -12
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +16 -18
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/webview/common/webview.js +5 -7
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +41 -26
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +8 -8
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +43 -32
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service.js +1 -1
- package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -3
- package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +1 -1
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +28 -0
- package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +676 -0
- package/vscode/src/vs/workbench/services/activity/browser/activityService.js +9 -12
- package/vscode/src/vs/workbench/services/activity/common/activity.service.js +1 -1
- package/vscode/src/vs/workbench/services/aiEmbeddingVector/common/aiEmbeddingVectorService.service.js +1 -1
- package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.js +1 -1
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +1 -1
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpUsageService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +101 -69
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/common/authentication.service.js +2 -2
- package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.js +1 -1
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +164 -103
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service.js +1 -1
- package/vscode/src/vs/workbench/services/banner/browser/bannerService.service.js +1 -1
- package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +3 -3
- package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.js +1 -1
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +19 -19
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +321 -355
- package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.js +1 -1
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditing.service.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +2 -2
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.service.js +1 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +56 -34
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +114 -131
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +4 -5
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +159 -129
- package/vscode/src/vs/workbench/services/decorations/common/decorations.service.js +1 -1
- package/vscode/src/vs/workbench/services/driver/browser/driver.js +52 -32
- package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +8 -20
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +203 -99
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +43 -36
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.service.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorPaneService.service.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +20 -18
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.service.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.service.js +1 -1
- package/vscode/src/vs/workbench/services/environment/browser/environmentService.d.ts +1 -0
- package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +397 -225
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +2 -2
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.js +3 -3
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +7 -7
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.js +2 -2
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +178 -84
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +101 -64
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +16 -11
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +34 -21
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +43 -37
- package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +68 -31
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +459 -487
- package/vscode/src/vs/workbench/services/extensions/common/lazyPromise.js +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.js +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +204 -133
- package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +17 -12
- package/vscode/src/vs/workbench/services/extensions/worker/polyfillNestedWorker.js +30 -22
- package/vscode/src/vs/workbench/services/files/common/elevatedFileService.service.js +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +157 -103
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.js +1 -1
- package/vscode/src/vs/workbench/services/history/common/history.service.js +1 -1
- package/vscode/src/vs/workbench/services/host/browser/host.service.js +1 -1
- package/vscode/src/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service.js +1 -1
- package/vscode/src/vs/workbench/services/integrity/common/integrity.service.js +1 -1
- package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -3
- package/vscode/src/vs/workbench/services/keybinding/common/fallbackKeyboardMapper.js +1 -1
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.service.js +1 -1
- package/vscode/src/vs/workbench/services/language/common/languageService.js +117 -103
- package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.service.js +1 -1
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.service.js +1 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +4 -0
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +3 -3
- package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.d.ts +16 -0
- package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.js +20 -0
- package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.service.d.ts +27 -0
- package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.service.js +6 -0
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.service.js +1 -1
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +37 -19
- package/vscode/src/vs/workbench/services/localization/common/locale.service.js +2 -2
- package/vscode/src/vs/workbench/services/log/common/defaultLogLevels.service.js +1 -1
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +6 -3
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +32 -17
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.service.js +1 -1
- package/vscode/src/vs/workbench/services/outline/browser/outline.service.js +1 -1
- package/vscode/src/vs/workbench/services/output/common/output.js +21 -21
- package/vscode/src/vs/workbench/services/output/common/output.service.js +1 -1
- package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.service.js +1 -1
- package/vscode/src/vs/workbench/services/path/common/pathService.service.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +9 -7
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +103 -72
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -0
- package/vscode/src/vs/workbench/services/preferences/common/preferences.service.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +14 -10
- package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +37 -36
- package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.js +1 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +54 -57
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.service.js +1 -1
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +203 -145
- package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +77 -35
- package/vscode/src/vs/workbench/services/search/common/folderQuerySearchTree.js +19 -8
- package/vscode/src/vs/workbench/services/search/common/ignoreFile.js +32 -30
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +1 -0
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +128 -123
- package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -0
- package/vscode/src/vs/workbench/services/search/common/search.js +43 -47
- package/vscode/src/vs/workbench/services/search/common/search.service.js +1 -1
- package/vscode/src/vs/workbench/services/search/common/searchExtConversionTypes.js +30 -18
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +4 -0
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +2 -2
- package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +13 -6
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +51 -42
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.service.js +1 -1
- package/vscode/src/vs/workbench/services/storage/browser/storageService.js +108 -65
- package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.service.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.service.js +1 -1
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +45 -33
- package/vscode/src/vs/workbench/services/textMate/common/TMHelper.js +4 -6
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +159 -152
- package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +75 -27
- package/vscode/src/vs/workbench/services/textfile/common/textEditorService.service.js +1 -1
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +204 -131
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.js +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +92 -90
- package/vscode/src/vs/workbench/services/themes/common/colorThemeData.d.ts +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +244 -143
- package/vscode/src/vs/workbench/services/themes/common/hostColorSchemeService.service.js +1 -1
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +85 -56
- package/vscode/src/vs/workbench/services/themes/common/plistParser.js +118 -137
- package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +40 -26
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.d.ts +3 -0
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +246 -0
- package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/timer/browser/timerService.service.js +1 -1
- package/vscode/src/vs/workbench/services/title/browser/titleService.service.js +1 -1
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +47 -22
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +79 -50
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.service.js +1 -1
- package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.service.js +1 -1
- package/vscode/src/vs/workbench/services/userAttention/common/userAttentionService.service.js +1 -1
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.service.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +15 -13
- package/vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.service.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +16 -11
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.service.js +3 -3
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +6 -86
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +33 -23
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.service.js +1 -1
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +233 -135
- package/vscode/src/vs/workbench/services/views/common/viewsService.service.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +2 -5
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +239 -139
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistory.service.js +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.js +1 -1
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.js +1 -1
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.service.js +1 -1
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.d.ts +7 -1
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +152 -80
- package/vscode-dts/vscode.d.ts +78 -37
- package/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts +18 -0
- package/vscode-dts/vscode.proposed.chatContextProvider.d.ts +104 -11
- package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +16 -1
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +287 -8
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +25 -66
- package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +136 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +21 -1
- package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +196 -29
- package/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts +6 -0
- package/vscode-dts/vscode.proposed.css.d.ts +6 -0
- package/vscode-dts/vscode.proposed.d.ts +8 -2
- package/vscode-dts/vscode.proposed.envIsAppPortable.d.ts +20 -0
- package/vscode-dts/vscode.proposed.extensionAffinity.d.ts +6 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +24 -1
- package/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts +69 -0
- package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +31 -0
- package/vscode-dts/vscode.proposed.workspaceTrust.d.ts +31 -0
- package/vscode/src/vs/editor/contrib/colorPicker/browser/images/opacity-background.png +0 -0
- package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/keyboard-dark.svg +0 -10
- package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/keyboard-light.svg +0 -10
- package/vscode/src/vs/nls.messages.d.ts +0 -2
- package/vscode/src/vs/nls.messages.js +0 -10
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.d.ts +0 -42
- package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.js +0 -201
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +0 -21
- package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +0 -141
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-dark.svg +0 -31
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-hc.svg +0 -31
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading.svg +0 -31
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -11
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +0 -20
- package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +0 -150
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.d.ts +0 -30
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +0 -270
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.d.ts +0 -11
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +0 -43
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +0 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +0 -322
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +0 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +0 -59
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +0 -75
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +0 -340
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +0 -21
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +0 -36
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +0 -110
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +0 -627
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +0 -40
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +0 -139
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +0 -57
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +0 -374
- package/vscode-dts/vscode.proposed.chatEditing.d.ts +0 -29
- package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +0 -49
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
async function webviewPreloads(ctx) {
|
|
4
4
|
const userAgent = navigator.userAgent;
|
|
5
|
-
const isChrome = (userAgent.indexOf(
|
|
5
|
+
const isChrome = (userAgent.indexOf("Chrome") >= 0);
|
|
6
6
|
const textEncoder = ( new TextEncoder());
|
|
7
7
|
const textDecoder = ( new TextDecoder());
|
|
8
8
|
function promiseWithResolvers() {
|
|
@@ -12,7 +12,11 @@ async function webviewPreloads(ctx) {
|
|
|
12
12
|
resolve = res;
|
|
13
13
|
reject = rej;
|
|
14
14
|
}));
|
|
15
|
-
return {
|
|
15
|
+
return {
|
|
16
|
+
promise,
|
|
17
|
+
resolve: resolve,
|
|
18
|
+
reject: reject
|
|
19
|
+
};
|
|
16
20
|
}
|
|
17
21
|
let currentOptions = ctx.options;
|
|
18
22
|
const isWorkspaceTrusted = ctx.isWorkspaceTrusted;
|
|
@@ -23,46 +27,46 @@ async function webviewPreloads(ctx) {
|
|
|
23
27
|
delete globalThis.acquireVsCodeApi;
|
|
24
28
|
const tokenizationStyle = ( new CSSStyleSheet());
|
|
25
29
|
tokenizationStyle.replaceSync(ctx.style.tokenizationCss);
|
|
26
|
-
const runWhenIdle = (typeof requestIdleCallback !==
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
const runWhenIdle = (typeof requestIdleCallback !== "function" || typeof cancelIdleCallback !== "function") ? runner => {
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
if (disposed) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const end = Date.now() + 15;
|
|
36
|
+
runner(( Object.freeze({
|
|
37
|
+
didTimeout: true,
|
|
38
|
+
timeRemaining() {
|
|
39
|
+
return Math.max(0, end - Date.now());
|
|
40
|
+
}
|
|
41
|
+
})));
|
|
42
|
+
});
|
|
43
|
+
let disposed = false;
|
|
44
|
+
return {
|
|
45
|
+
dispose() {
|
|
29
46
|
if (disposed) {
|
|
30
47
|
return;
|
|
31
48
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
disposed = true;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
: (runner, timeout) => {
|
|
51
|
-
const handle = requestIdleCallback(runner, typeof timeout === 'number' ? { timeout } : undefined);
|
|
52
|
-
let disposed = false;
|
|
53
|
-
return {
|
|
54
|
-
dispose() {
|
|
55
|
-
if (disposed) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
disposed = true;
|
|
59
|
-
cancelIdleCallback(handle);
|
|
49
|
+
disposed = true;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
} : (runner, timeout) => {
|
|
53
|
+
const handle = requestIdleCallback(runner, typeof timeout === "number" ? {
|
|
54
|
+
timeout
|
|
55
|
+
} : undefined);
|
|
56
|
+
let disposed = false;
|
|
57
|
+
return {
|
|
58
|
+
dispose() {
|
|
59
|
+
if (disposed) {
|
|
60
|
+
return;
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
+
disposed = true;
|
|
63
|
+
cancelIdleCallback(handle);
|
|
64
|
+
}
|
|
62
65
|
};
|
|
66
|
+
};
|
|
63
67
|
function getOutputContainer(event) {
|
|
64
68
|
for (const node of event.composedPath()) {
|
|
65
|
-
if (node instanceof HTMLElement && node.classList.contains(
|
|
69
|
+
if (node instanceof HTMLElement && node.classList.contains("output")) {
|
|
66
70
|
return {
|
|
67
71
|
id: node.id
|
|
68
72
|
};
|
|
@@ -71,7 +75,7 @@ async function webviewPreloads(ctx) {
|
|
|
71
75
|
return;
|
|
72
76
|
}
|
|
73
77
|
let lastFocusedOutput = undefined;
|
|
74
|
-
const handleOutputFocusOut =
|
|
78
|
+
const handleOutputFocusOut = event => {
|
|
75
79
|
const outputFocus = event && getOutputContainer(event);
|
|
76
80
|
if (!outputFocus) {
|
|
77
81
|
return;
|
|
@@ -81,16 +85,14 @@ async function webviewPreloads(ctx) {
|
|
|
81
85
|
if (lastFocusedOutput?.id === outputFocus.id) {
|
|
82
86
|
return;
|
|
83
87
|
}
|
|
84
|
-
postNotebookMessage(
|
|
88
|
+
postNotebookMessage("outputBlur", outputFocus);
|
|
85
89
|
}, 0);
|
|
86
90
|
};
|
|
87
91
|
const hasActiveEditableElement = (parent, root = document) => {
|
|
88
92
|
const element = root.activeElement;
|
|
89
|
-
return !!(element && parent.contains(element)
|
|
90
|
-
&& (element.matches(':read-write') || element.tagName.toLowerCase() === 'select'
|
|
91
|
-
|| (element.shadowRoot && hasActiveEditableElement(element.shadowRoot, element.shadowRoot))));
|
|
93
|
+
return !!(element && parent.contains(element) && (element.matches(":read-write") || element.tagName.toLowerCase() === "select" || (element.shadowRoot && hasActiveEditableElement(element.shadowRoot, element.shadowRoot))));
|
|
92
94
|
};
|
|
93
|
-
const checkOutputInputFocus =
|
|
95
|
+
const checkOutputInputFocus = e => {
|
|
94
96
|
lastFocusedOutput = getOutputContainer(e);
|
|
95
97
|
const activeElement = window.document.activeElement;
|
|
96
98
|
if (!activeElement) {
|
|
@@ -98,40 +100,48 @@ async function webviewPreloads(ctx) {
|
|
|
98
100
|
}
|
|
99
101
|
const id = lastFocusedOutput?.id;
|
|
100
102
|
if (id && (hasActiveEditableElement(activeElement, window.document))) {
|
|
101
|
-
postNotebookMessage(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
103
|
+
postNotebookMessage("outputInputFocus", {
|
|
104
|
+
inputFocused: true,
|
|
105
|
+
id
|
|
106
|
+
});
|
|
107
|
+
activeElement.addEventListener("blur", () => {
|
|
108
|
+
postNotebookMessage("outputInputFocus", {
|
|
109
|
+
inputFocused: false,
|
|
110
|
+
id
|
|
111
|
+
});
|
|
112
|
+
}, {
|
|
113
|
+
once: true
|
|
114
|
+
});
|
|
105
115
|
}
|
|
106
116
|
};
|
|
107
|
-
const handleInnerClick =
|
|
117
|
+
const handleInnerClick = event => {
|
|
108
118
|
if (!event || !event.view || !event.view.document) {
|
|
109
119
|
return;
|
|
110
120
|
}
|
|
111
121
|
const outputFocus = lastFocusedOutput = getOutputContainer(event);
|
|
112
122
|
for (const node of event.composedPath()) {
|
|
113
123
|
if (node instanceof HTMLAnchorElement && node.href) {
|
|
114
|
-
if (node.href.startsWith(
|
|
124
|
+
if (node.href.startsWith("blob:")) {
|
|
115
125
|
if (outputFocus) {
|
|
116
|
-
postNotebookMessage(
|
|
126
|
+
postNotebookMessage("outputFocus", outputFocus);
|
|
117
127
|
}
|
|
118
128
|
handleBlobUrlClick(node.href, node.download);
|
|
119
|
-
}
|
|
120
|
-
else if (node.href.startsWith('data:')) {
|
|
129
|
+
} else if (node.href.startsWith("data:")) {
|
|
121
130
|
if (outputFocus) {
|
|
122
|
-
postNotebookMessage(
|
|
131
|
+
postNotebookMessage("outputFocus", outputFocus);
|
|
123
132
|
}
|
|
124
133
|
handleDataUrl(node.href, node.download);
|
|
125
|
-
}
|
|
126
|
-
else if (node.getAttribute('href')?.trim().startsWith('#')) {
|
|
134
|
+
} else if (node.getAttribute("href")?.trim().startsWith("#")) {
|
|
127
135
|
if (!node.hash) {
|
|
128
|
-
postNotebookMessage(
|
|
136
|
+
postNotebookMessage("scroll-to-reveal", {
|
|
137
|
+
scrollTop: 0
|
|
138
|
+
});
|
|
129
139
|
return;
|
|
130
140
|
}
|
|
131
141
|
const targetId = node.hash.substring(1);
|
|
132
142
|
let scrollTarget = event.view.document.getElementById(targetId);
|
|
133
143
|
if (!scrollTarget) {
|
|
134
|
-
for (const preview of event.view.document.querySelectorAll(
|
|
144
|
+
for (const preview of event.view.document.querySelectorAll(".preview")) {
|
|
135
145
|
scrollTarget = preview.shadowRoot?.getElementById(targetId);
|
|
136
146
|
if (scrollTarget) {
|
|
137
147
|
break;
|
|
@@ -140,17 +150,20 @@ async function webviewPreloads(ctx) {
|
|
|
140
150
|
}
|
|
141
151
|
if (scrollTarget) {
|
|
142
152
|
const scrollTop = scrollTarget.getBoundingClientRect().top + event.view.scrollY;
|
|
143
|
-
postNotebookMessage(
|
|
153
|
+
postNotebookMessage("scroll-to-reveal", {
|
|
154
|
+
scrollTop
|
|
155
|
+
});
|
|
144
156
|
return;
|
|
145
157
|
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
const href = node.getAttribute('href');
|
|
158
|
+
} else {
|
|
159
|
+
const href = node.getAttribute("href");
|
|
149
160
|
if (href) {
|
|
150
|
-
if (href.startsWith(
|
|
151
|
-
postNotebookMessage(
|
|
161
|
+
if (href.startsWith("command:") && outputFocus) {
|
|
162
|
+
postNotebookMessage("outputFocus", outputFocus);
|
|
152
163
|
}
|
|
153
|
-
postNotebookMessage(
|
|
164
|
+
postNotebookMessage("clicked-link", {
|
|
165
|
+
href
|
|
166
|
+
});
|
|
154
167
|
}
|
|
155
168
|
}
|
|
156
169
|
event.preventDefault();
|
|
@@ -159,7 +172,7 @@ async function webviewPreloads(ctx) {
|
|
|
159
172
|
}
|
|
160
173
|
}
|
|
161
174
|
if (outputFocus) {
|
|
162
|
-
postNotebookMessage(
|
|
175
|
+
postNotebookMessage("outputFocus", outputFocus);
|
|
163
176
|
}
|
|
164
177
|
};
|
|
165
178
|
const blurOutput = () => {
|
|
@@ -169,7 +182,7 @@ async function webviewPreloads(ctx) {
|
|
|
169
182
|
}
|
|
170
183
|
selection.removeAllRanges();
|
|
171
184
|
};
|
|
172
|
-
const selectOutputContents =
|
|
185
|
+
const selectOutputContents = cellOrOutputId => {
|
|
173
186
|
const selection = window.getSelection();
|
|
174
187
|
if (!selection) {
|
|
175
188
|
return;
|
|
@@ -183,7 +196,7 @@ async function webviewPreloads(ctx) {
|
|
|
183
196
|
range.selectNode(cellOutputContainer);
|
|
184
197
|
selection.addRange(range);
|
|
185
198
|
};
|
|
186
|
-
const selectInputContents =
|
|
199
|
+
const selectInputContents = cellOrOutputId => {
|
|
187
200
|
const cellOutputContainer = window.document.getElementById(cellOrOutputId);
|
|
188
201
|
if (!cellOutputContainer) {
|
|
189
202
|
return;
|
|
@@ -193,15 +206,15 @@ async function webviewPreloads(ctx) {
|
|
|
193
206
|
activeElement.select();
|
|
194
207
|
}
|
|
195
208
|
};
|
|
196
|
-
const onPageUpDownSelectionHandler =
|
|
209
|
+
const onPageUpDownSelectionHandler = e => {
|
|
197
210
|
if (!lastFocusedOutput?.id || !e.shiftKey) {
|
|
198
211
|
return;
|
|
199
212
|
}
|
|
200
|
-
if (e.shiftKey && (e.code ===
|
|
213
|
+
if (e.shiftKey && (e.code === "ArrowUp" || e.code === "ArrowDown")) {
|
|
201
214
|
e.stopPropagation();
|
|
202
215
|
return;
|
|
203
216
|
}
|
|
204
|
-
if (!(e.code ===
|
|
217
|
+
if (!(e.code === "PageUp" || e.code === "PageDown") && !(e.metaKey && (e.code === "ArrowDown" || e.code === "ArrowUp"))) {
|
|
205
218
|
return;
|
|
206
219
|
}
|
|
207
220
|
const outputContainer = window.document.getElementById(lastFocusedOutput.id);
|
|
@@ -215,20 +228,22 @@ async function webviewPreloads(ctx) {
|
|
|
215
228
|
}
|
|
216
229
|
e.stopPropagation();
|
|
217
230
|
e.preventDefault();
|
|
218
|
-
const {
|
|
231
|
+
const {
|
|
232
|
+
anchorNode,
|
|
233
|
+
anchorOffset
|
|
234
|
+
} = selection;
|
|
219
235
|
const range = document.createRange();
|
|
220
|
-
if (e.code ===
|
|
236
|
+
if (e.code === "PageDown" || e.code === "ArrowDown") {
|
|
221
237
|
range.setStart(anchorNode, anchorOffset);
|
|
222
238
|
range.setEnd(outputContainer, 1);
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
239
|
+
} else {
|
|
225
240
|
range.setStart(outputContainer, 0);
|
|
226
241
|
range.setEnd(anchorNode, anchorOffset);
|
|
227
242
|
}
|
|
228
243
|
selection.removeAllRanges();
|
|
229
244
|
selection.addRange(range);
|
|
230
245
|
};
|
|
231
|
-
const disableNativeSelectAll =
|
|
246
|
+
const disableNativeSelectAll = e => {
|
|
232
247
|
if (!lastFocusedOutput?.id) {
|
|
233
248
|
return;
|
|
234
249
|
}
|
|
@@ -236,13 +251,13 @@ async function webviewPreloads(ctx) {
|
|
|
236
251
|
if (activeElement && hasActiveEditableElement(activeElement, window.document)) {
|
|
237
252
|
return;
|
|
238
253
|
}
|
|
239
|
-
if ((e.key ===
|
|
254
|
+
if ((e.key === "a" && e.ctrlKey) || (e.metaKey && e.key === "a")) {
|
|
240
255
|
e.preventDefault();
|
|
241
256
|
return;
|
|
242
257
|
}
|
|
243
258
|
};
|
|
244
259
|
const handleDataUrl = async (data, downloadName) => {
|
|
245
|
-
postNotebookMessage(
|
|
260
|
+
postNotebookMessage("clicked-data-url", {
|
|
246
261
|
data,
|
|
247
262
|
downloadName
|
|
248
263
|
});
|
|
@@ -252,31 +267,31 @@ async function webviewPreloads(ctx) {
|
|
|
252
267
|
const response = await fetch(url);
|
|
253
268
|
const blob = await response.blob();
|
|
254
269
|
const reader = ( new FileReader());
|
|
255
|
-
reader.addEventListener(
|
|
270
|
+
reader.addEventListener("load", () => {
|
|
256
271
|
handleDataUrl(reader.result, downloadName);
|
|
257
272
|
});
|
|
258
273
|
reader.readAsDataURL(blob);
|
|
259
|
-
}
|
|
260
|
-
catch (e) {
|
|
274
|
+
} catch (e) {
|
|
261
275
|
console.error(e.message);
|
|
262
276
|
}
|
|
263
277
|
};
|
|
264
|
-
window.document.body.addEventListener(
|
|
265
|
-
window.document.body.addEventListener(
|
|
266
|
-
window.document.body.addEventListener(
|
|
267
|
-
window.document.body.addEventListener(
|
|
268
|
-
window.document.body.addEventListener(
|
|
278
|
+
window.document.body.addEventListener("click", handleInnerClick);
|
|
279
|
+
window.document.body.addEventListener("focusin", checkOutputInputFocus);
|
|
280
|
+
window.document.body.addEventListener("focusout", handleOutputFocusOut);
|
|
281
|
+
window.document.body.addEventListener("keydown", onPageUpDownSelectionHandler);
|
|
282
|
+
window.document.body.addEventListener("keydown", disableNativeSelectAll);
|
|
269
283
|
function createKernelContext() {
|
|
270
284
|
return ( Object.freeze({
|
|
271
285
|
onDidReceiveKernelMessage: onDidReceiveKernelMessage.event,
|
|
272
|
-
postKernelMessage:
|
|
286
|
+
postKernelMessage: data => postNotebookMessage("customKernelMessage", {
|
|
287
|
+
message: data
|
|
288
|
+
})
|
|
273
289
|
}));
|
|
274
290
|
}
|
|
275
291
|
async function runKernelPreload(url) {
|
|
276
292
|
try {
|
|
277
293
|
return await activateModuleKernelPreload(url);
|
|
278
|
-
}
|
|
279
|
-
catch (e) {
|
|
294
|
+
} catch (e) {
|
|
280
295
|
console.error(e);
|
|
281
296
|
throw e;
|
|
282
297
|
}
|
|
@@ -284,7 +299,9 @@ async function webviewPreloads(ctx) {
|
|
|
284
299
|
async function activateModuleKernelPreload(url) {
|
|
285
300
|
const module = await __import(url);
|
|
286
301
|
if (!module.activate) {
|
|
287
|
-
console.error(
|
|
302
|
+
console.error(
|
|
303
|
+
`Notebook preload '${url}' was expected to be a module but it does not export an 'activate' function`
|
|
304
|
+
);
|
|
288
305
|
return;
|
|
289
306
|
}
|
|
290
307
|
return module.activate(createKernelContext());
|
|
@@ -307,12 +324,11 @@ async function webviewPreloads(ctx) {
|
|
|
307
324
|
init: update.init,
|
|
308
325
|
isOutput: update.isOutput
|
|
309
326
|
});
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
327
|
+
} else {
|
|
312
328
|
this.pending.set(id, {
|
|
313
329
|
id,
|
|
314
330
|
height,
|
|
315
|
-
...options
|
|
331
|
+
...options
|
|
316
332
|
});
|
|
317
333
|
}
|
|
318
334
|
}
|
|
@@ -320,12 +336,12 @@ async function webviewPreloads(ctx) {
|
|
|
320
336
|
if (!this.pending.size) {
|
|
321
337
|
return;
|
|
322
338
|
}
|
|
323
|
-
postNotebookMessage(
|
|
339
|
+
postNotebookMessage("dimension", {
|
|
324
340
|
updates: Array.from(( this.pending.values()))
|
|
325
341
|
});
|
|
326
342
|
this.pending.clear();
|
|
327
343
|
}
|
|
328
|
-
});
|
|
344
|
+
})();
|
|
329
345
|
function elementHasContent(height) {
|
|
330
346
|
return height > 2.1;
|
|
331
347
|
}
|
|
@@ -353,20 +369,17 @@ async function webviewPreloads(ctx) {
|
|
|
353
369
|
continue;
|
|
354
370
|
}
|
|
355
371
|
const hasContent = elementHasContent(entry.contentRect.height);
|
|
356
|
-
const shouldUpdatePadding = (hasContent && observedElementInfo.lastKnownPadding === 0) ||
|
|
357
|
-
(!hasContent && observedElementInfo.lastKnownPadding !== 0);
|
|
372
|
+
const shouldUpdatePadding = (hasContent && observedElementInfo.lastKnownPadding === 0) || (!hasContent && observedElementInfo.lastKnownPadding !== 0);
|
|
358
373
|
if (shouldUpdatePadding) {
|
|
359
374
|
window.requestAnimationFrame(() => {
|
|
360
375
|
if (hasContent) {
|
|
361
376
|
entry.target.style.padding = `${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodeLeftPadding}px`;
|
|
362
|
-
}
|
|
363
|
-
else {
|
|
377
|
+
} else {
|
|
364
378
|
entry.target.style.padding = `0px`;
|
|
365
379
|
}
|
|
366
380
|
this.updateHeight(observedElementInfo, hasContent ? entry.target.offsetHeight : 0);
|
|
367
381
|
});
|
|
368
|
-
}
|
|
369
|
-
else {
|
|
382
|
+
} else {
|
|
370
383
|
this.updateHeight(observedElementInfo, hasContent ? entry.target.offsetHeight : 0);
|
|
371
384
|
}
|
|
372
385
|
}
|
|
@@ -384,18 +397,24 @@ async function webviewPreloads(ctx) {
|
|
|
384
397
|
if (( this._observedElements.has(container))) {
|
|
385
398
|
return;
|
|
386
399
|
}
|
|
387
|
-
this._observedElements.set(container, {
|
|
400
|
+
this._observedElements.set(container, {
|
|
401
|
+
id,
|
|
402
|
+
output,
|
|
403
|
+
lastKnownPadding: ctx.style.outputNodePadding,
|
|
404
|
+
lastKnownHeight: -1,
|
|
405
|
+
cellId
|
|
406
|
+
});
|
|
388
407
|
this._observer.observe(container);
|
|
389
408
|
}
|
|
390
409
|
postResizeMessage(cellId) {
|
|
391
410
|
clearTimeout(this._outputResizeTimer);
|
|
392
411
|
this._outputResizeTimer = setTimeout(() => {
|
|
393
|
-
postNotebookMessage(
|
|
412
|
+
postNotebookMessage("outputResized", {
|
|
394
413
|
cellId
|
|
395
414
|
});
|
|
396
415
|
}, 250);
|
|
397
416
|
}
|
|
398
|
-
});
|
|
417
|
+
})();
|
|
399
418
|
let previousDelta;
|
|
400
419
|
let scrollTimeout;
|
|
401
420
|
let scrolledElement;
|
|
@@ -405,29 +424,33 @@ async function webviewPreloads(ctx) {
|
|
|
405
424
|
if (deltaY === undefined) {
|
|
406
425
|
lastTimeScrolled = Date.now();
|
|
407
426
|
previousDelta = undefined;
|
|
408
|
-
node.setAttribute(
|
|
427
|
+
node.setAttribute("recentlyScrolled", "true");
|
|
409
428
|
clearTimeout(scrollTimeout);
|
|
410
|
-
scrollTimeout = setTimeout(() => {
|
|
429
|
+
scrollTimeout = setTimeout(() => {
|
|
430
|
+
scrolledElement?.removeAttribute("recentlyScrolled");
|
|
431
|
+
}, 300);
|
|
411
432
|
return true;
|
|
412
433
|
}
|
|
413
|
-
if (node.hasAttribute(
|
|
434
|
+
if (node.hasAttribute("recentlyScrolled")) {
|
|
414
435
|
if (lastTimeScrolled && Date.now() - lastTimeScrolled > 400) {
|
|
415
436
|
if (!!previousDelta && deltaY < 0 && deltaY < previousDelta - 8) {
|
|
416
437
|
clearTimeout(scrollTimeout);
|
|
417
|
-
scrolledElement?.removeAttribute(
|
|
438
|
+
scrolledElement?.removeAttribute("recentlyScrolled");
|
|
418
439
|
return false;
|
|
419
|
-
}
|
|
420
|
-
else if (!!previousDelta && deltaY > 0 && deltaY > previousDelta + 8) {
|
|
440
|
+
} else if (!!previousDelta && deltaY > 0 && deltaY > previousDelta + 8) {
|
|
421
441
|
clearTimeout(scrollTimeout);
|
|
422
|
-
scrolledElement?.removeAttribute(
|
|
442
|
+
scrolledElement?.removeAttribute("recentlyScrolled");
|
|
423
443
|
return false;
|
|
424
444
|
}
|
|
425
445
|
clearTimeout(scrollTimeout);
|
|
426
|
-
scrollTimeout = setTimeout(() => {
|
|
427
|
-
|
|
428
|
-
|
|
446
|
+
scrollTimeout = setTimeout(() => {
|
|
447
|
+
scrolledElement?.removeAttribute("recentlyScrolled");
|
|
448
|
+
}, 50);
|
|
449
|
+
} else {
|
|
429
450
|
clearTimeout(scrollTimeout);
|
|
430
|
-
scrollTimeout = setTimeout(() => {
|
|
451
|
+
scrollTimeout = setTimeout(() => {
|
|
452
|
+
scrolledElement?.removeAttribute("recentlyScrolled");
|
|
453
|
+
}, 300);
|
|
431
454
|
}
|
|
432
455
|
previousDelta = deltaY;
|
|
433
456
|
return true;
|
|
@@ -436,7 +459,7 @@ async function webviewPreloads(ctx) {
|
|
|
436
459
|
}
|
|
437
460
|
function eventTargetShouldHandleScroll(event) {
|
|
438
461
|
for (let node = event.target; node; node = node.parentNode) {
|
|
439
|
-
if (!(node instanceof Element) || node.id ===
|
|
462
|
+
if (!(node instanceof Element) || node.id === "container" || node.classList.contains("cell_container") || node.classList.contains("markup") || node.classList.contains("output_container")) {
|
|
440
463
|
return false;
|
|
441
464
|
}
|
|
442
465
|
if (event.deltaY < 0 && node.scrollTop > 0) {
|
|
@@ -447,7 +470,7 @@ async function webviewPreloads(ctx) {
|
|
|
447
470
|
if (node.scrollHeight - node.scrollTop - node.clientHeight < 2) {
|
|
448
471
|
continue;
|
|
449
472
|
}
|
|
450
|
-
if (window.getComputedStyle(node).overflowY ===
|
|
473
|
+
if (window.getComputedStyle(node).overflowY === "hidden" || window.getComputedStyle(node).overflowY === "visible") {
|
|
451
474
|
continue;
|
|
452
475
|
}
|
|
453
476
|
flagRecentlyScrolled(node);
|
|
@@ -459,11 +482,11 @@ async function webviewPreloads(ctx) {
|
|
|
459
482
|
}
|
|
460
483
|
return false;
|
|
461
484
|
}
|
|
462
|
-
const handleWheel =
|
|
485
|
+
const handleWheel = event => {
|
|
463
486
|
if (event.defaultPrevented || eventTargetShouldHandleScroll(event)) {
|
|
464
487
|
return;
|
|
465
488
|
}
|
|
466
|
-
postNotebookMessage(
|
|
489
|
+
postNotebookMessage("did-scroll-wheel", {
|
|
467
490
|
payload: {
|
|
468
491
|
deltaMode: event.deltaMode,
|
|
469
492
|
deltaX: event.deltaX,
|
|
@@ -479,37 +502,38 @@ async function webviewPreloads(ctx) {
|
|
|
479
502
|
});
|
|
480
503
|
};
|
|
481
504
|
function focusFirstFocusableOrContainerInOutput(cellOrOutputId, alternateId) {
|
|
482
|
-
const cellOutputContainer = window.document.getElementById(cellOrOutputId) ??
|
|
483
|
-
(!!alternateId ? window.document.getElementById(alternateId) : undefined);
|
|
505
|
+
const cellOutputContainer = window.document.getElementById(cellOrOutputId) ?? (!!alternateId ? window.document.getElementById(alternateId) : undefined);
|
|
484
506
|
if (!!cellOutputContainer) {
|
|
485
507
|
if (cellOutputContainer.contains(window.document.activeElement)) {
|
|
486
508
|
return;
|
|
487
509
|
}
|
|
488
|
-
let focusableElement = cellOutputContainer.querySelector(
|
|
510
|
+
let focusableElement = cellOutputContainer.querySelector("[tabindex=\"0\"], [href], button, input, option, select, textarea");
|
|
489
511
|
if (!focusableElement) {
|
|
490
512
|
focusableElement = cellOutputContainer;
|
|
491
513
|
focusableElement.tabIndex = -1;
|
|
492
514
|
}
|
|
493
515
|
if (lastFocusedOutput?.id !== cellOutputContainer.id) {
|
|
494
516
|
lastFocusedOutput = cellOutputContainer;
|
|
495
|
-
postNotebookMessage(
|
|
517
|
+
postNotebookMessage("outputFocus", {
|
|
518
|
+
id: cellOutputContainer.id
|
|
519
|
+
});
|
|
496
520
|
}
|
|
497
521
|
focusableElement.focus();
|
|
498
522
|
}
|
|
499
523
|
}
|
|
500
524
|
function createFocusSink(cellId, focusNext) {
|
|
501
|
-
const element = document.createElement(
|
|
525
|
+
const element = document.createElement("div");
|
|
502
526
|
element.id = `focus-sink-${cellId}`;
|
|
503
527
|
element.tabIndex = 0;
|
|
504
|
-
element.addEventListener(
|
|
505
|
-
postNotebookMessage(
|
|
528
|
+
element.addEventListener("focus", () => {
|
|
529
|
+
postNotebookMessage("focus-editor", {
|
|
506
530
|
cellId: cellId,
|
|
507
531
|
focusNext
|
|
508
532
|
});
|
|
509
533
|
});
|
|
510
534
|
return element;
|
|
511
535
|
}
|
|
512
|
-
function _internalHighlightRange(range, tagName =
|
|
536
|
+
function _internalHighlightRange(range, tagName = "mark", attributes = {}) {
|
|
513
537
|
function _textNodesInRange(range) {
|
|
514
538
|
if (!range.startContainer.ownerDocument) {
|
|
515
539
|
return [];
|
|
@@ -523,11 +547,14 @@ async function webviewPreloads(ctx) {
|
|
|
523
547
|
}
|
|
524
548
|
range.setStart(createdNode, 0);
|
|
525
549
|
}
|
|
526
|
-
if (range.endContainer.nodeType === Node.TEXT_NODE
|
|
527
|
-
&& range.endOffset < range.endContainer.length) {
|
|
550
|
+
if (range.endContainer.nodeType === Node.TEXT_NODE && range.endOffset < range.endContainer.length) {
|
|
528
551
|
range.endContainer.splitText(range.endOffset);
|
|
529
552
|
}
|
|
530
|
-
const walker = range.startContainer.ownerDocument.createTreeWalker(
|
|
553
|
+
const walker = range.startContainer.ownerDocument.createTreeWalker(
|
|
554
|
+
range.commonAncestorContainer,
|
|
555
|
+
NodeFilter.SHOW_TEXT,
|
|
556
|
+
node => range.intersectsNode(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT
|
|
557
|
+
);
|
|
531
558
|
walker.currentNode = range.startContainer;
|
|
532
559
|
const nodes = [];
|
|
533
560
|
if (walker.currentNode.nodeType === Node.TEXT_NODE) {
|
|
@@ -552,8 +579,8 @@ async function webviewPreloads(ctx) {
|
|
|
552
579
|
}
|
|
553
580
|
if (range.collapsed) {
|
|
554
581
|
return {
|
|
555
|
-
remove: () => {
|
|
556
|
-
update: () => {
|
|
582
|
+
remove: () => {},
|
|
583
|
+
update: () => {}
|
|
557
584
|
};
|
|
558
585
|
}
|
|
559
586
|
const nodes = _textNodesInRange(range);
|
|
@@ -565,8 +592,7 @@ async function webviewPreloads(ctx) {
|
|
|
565
592
|
function _removeHighlight(highlightElement) {
|
|
566
593
|
if (highlightElement.childNodes.length === 1) {
|
|
567
594
|
highlightElement.replaceWith(highlightElement.firstChild);
|
|
568
|
-
}
|
|
569
|
-
else {
|
|
595
|
+
} else {
|
|
570
596
|
while (highlightElement.firstChild) {
|
|
571
597
|
highlightElement.parentNode?.insertBefore(highlightElement.firstChild, highlightElement);
|
|
572
598
|
}
|
|
@@ -593,7 +619,7 @@ async function webviewPreloads(ctx) {
|
|
|
593
619
|
update: updateHighlights
|
|
594
620
|
};
|
|
595
621
|
}
|
|
596
|
-
function highlightRange(range, useCustom, tagName =
|
|
622
|
+
function highlightRange(range, useCustom, tagName = "mark", attributes = {}) {
|
|
597
623
|
{
|
|
598
624
|
const ret = _internalHighlightRange(range, tagName, attributes);
|
|
599
625
|
return {
|
|
@@ -602,12 +628,11 @@ async function webviewPreloads(ctx) {
|
|
|
602
628
|
update: (color, className) => {
|
|
603
629
|
if (className === undefined) {
|
|
604
630
|
ret.update({
|
|
605
|
-
|
|
631
|
+
"style": `background-color: ${color}`
|
|
606
632
|
});
|
|
607
|
-
}
|
|
608
|
-
else {
|
|
633
|
+
} else {
|
|
609
634
|
ret.update({
|
|
610
|
-
|
|
635
|
+
"class": className
|
|
611
636
|
});
|
|
612
637
|
}
|
|
613
638
|
}
|
|
@@ -623,31 +648,33 @@ async function webviewPreloads(ctx) {
|
|
|
623
648
|
}
|
|
624
649
|
},
|
|
625
650
|
event(fn, thisArg, disposables) {
|
|
626
|
-
const listenerObj = {
|
|
651
|
+
const listenerObj = {
|
|
652
|
+
fn,
|
|
653
|
+
thisArg
|
|
654
|
+
};
|
|
627
655
|
const disposable = {
|
|
628
656
|
dispose: () => {
|
|
629
657
|
listeners.delete(listenerObj);
|
|
630
658
|
listenerChange(listeners);
|
|
631
|
-
}
|
|
659
|
+
}
|
|
632
660
|
};
|
|
633
661
|
listeners.add(listenerObj);
|
|
634
662
|
listenerChange(listeners);
|
|
635
663
|
if (disposables instanceof Array) {
|
|
636
664
|
disposables.push(disposable);
|
|
637
|
-
}
|
|
638
|
-
else if (disposables) {
|
|
665
|
+
} else if (disposables) {
|
|
639
666
|
disposables.add(disposable);
|
|
640
667
|
}
|
|
641
668
|
return disposable;
|
|
642
|
-
}
|
|
669
|
+
}
|
|
643
670
|
};
|
|
644
671
|
}
|
|
645
672
|
function showRenderError(errorText, outputNode, errors) {
|
|
646
673
|
outputNode.innerText = errorText;
|
|
647
|
-
const errList = document.createElement(
|
|
674
|
+
const errList = document.createElement("ul");
|
|
648
675
|
for (const result of errors) {
|
|
649
676
|
console.error(result);
|
|
650
|
-
const item = document.createElement(
|
|
677
|
+
const item = document.createElement("li");
|
|
651
678
|
item.innerText = result.message;
|
|
652
679
|
errList.appendChild(item);
|
|
653
680
|
}
|
|
@@ -660,9 +687,18 @@ async function webviewPreloads(ctx) {
|
|
|
660
687
|
}
|
|
661
688
|
getOutputItem(outputId, mime) {
|
|
662
689
|
const requestId = this._requestPool++;
|
|
663
|
-
const {
|
|
664
|
-
|
|
665
|
-
|
|
690
|
+
const {
|
|
691
|
+
promise,
|
|
692
|
+
resolve
|
|
693
|
+
} = promiseWithResolvers();
|
|
694
|
+
this._requests.set(requestId, {
|
|
695
|
+
resolve
|
|
696
|
+
});
|
|
697
|
+
postNotebookMessage("getOutputItem", {
|
|
698
|
+
requestId,
|
|
699
|
+
outputId,
|
|
700
|
+
mime
|
|
701
|
+
});
|
|
666
702
|
return promise;
|
|
667
703
|
}
|
|
668
704
|
resolveOutputItem(requestId, output) {
|
|
@@ -673,7 +709,7 @@ async function webviewPreloads(ctx) {
|
|
|
673
709
|
this._requests.delete(requestId);
|
|
674
710
|
request.resolve(output);
|
|
675
711
|
}
|
|
676
|
-
});
|
|
712
|
+
})();
|
|
677
713
|
let hasWarnedAboutAllOutputItemsProposal = false;
|
|
678
714
|
function createOutputItem(id, mime, metadata, valueBytes, allOutputItemData, appended) {
|
|
679
715
|
function create(id, mime, metadata, valueBytes, appended) {
|
|
@@ -697,15 +733,19 @@ async function webviewPreloads(ctx) {
|
|
|
697
733
|
return JSON.parse(this.text());
|
|
698
734
|
},
|
|
699
735
|
blob() {
|
|
700
|
-
return ( new Blob([valueBytes], {
|
|
736
|
+
return ( new Blob([valueBytes], {
|
|
737
|
+
type: this.mime
|
|
738
|
+
}));
|
|
701
739
|
},
|
|
702
740
|
get _allOutputItems() {
|
|
703
741
|
if (!hasWarnedAboutAllOutputItemsProposal) {
|
|
704
742
|
hasWarnedAboutAllOutputItemsProposal = true;
|
|
705
|
-
console.warn(
|
|
743
|
+
console.warn(
|
|
744
|
+
`'_allOutputItems' is proposed API. DO NOT ship an extension that depends on it!`
|
|
745
|
+
);
|
|
706
746
|
}
|
|
707
747
|
return allOutputItemList;
|
|
708
|
-
}
|
|
748
|
+
}
|
|
709
749
|
}));
|
|
710
750
|
}
|
|
711
751
|
const allOutputItemCache = ( new Map());
|
|
@@ -731,13 +771,13 @@ async function webviewPreloads(ctx) {
|
|
|
731
771
|
return item;
|
|
732
772
|
}
|
|
733
773
|
const onDidReceiveKernelMessage = createEmitter();
|
|
734
|
-
const ttPolicy = window.trustedTypes?.createPolicy(
|
|
774
|
+
const ttPolicy = window.trustedTypes?.createPolicy("notebookRenderer", {
|
|
735
775
|
createHTML: value => value,
|
|
736
|
-
createScript: value => value
|
|
776
|
+
createScript: value => value
|
|
737
777
|
});
|
|
738
|
-
window.addEventListener(
|
|
739
|
-
const matchColor = window.getComputedStyle(window.document.getElementById(
|
|
740
|
-
const currentMatchColor = window.getComputedStyle(window.document.getElementById(
|
|
778
|
+
window.addEventListener("wheel", handleWheel);
|
|
779
|
+
const matchColor = window.getComputedStyle(window.document.getElementById("_defaultColorPalatte")).color;
|
|
780
|
+
const currentMatchColor = window.getComputedStyle(window.document.getElementById("_defaultColorPalatte")).backgroundColor;
|
|
741
781
|
class JSHighlighter {
|
|
742
782
|
constructor() {
|
|
743
783
|
this._activeHighlightInfo = ( new Map());
|
|
@@ -745,10 +785,10 @@ async function webviewPreloads(ctx) {
|
|
|
745
785
|
addHighlights(matches, ownerID) {
|
|
746
786
|
for (let i = matches.length - 1; i >= 0; i--) {
|
|
747
787
|
const match = matches[i];
|
|
748
|
-
const ret = highlightRange(match.originalRange, true,
|
|
749
|
-
|
|
788
|
+
const ret = highlightRange(match.originalRange, true, "mark", match.isShadow ? {
|
|
789
|
+
"style": "background-color: " + matchColor + ";"
|
|
750
790
|
} : {
|
|
751
|
-
|
|
791
|
+
"class": "find-match"
|
|
752
792
|
});
|
|
753
793
|
match.highlightResult = ret;
|
|
754
794
|
}
|
|
@@ -767,11 +807,11 @@ async function webviewPreloads(ctx) {
|
|
|
767
807
|
highlightCurrentMatch(index, ownerID) {
|
|
768
808
|
const highlightInfo = this._activeHighlightInfo.get(ownerID);
|
|
769
809
|
if (!highlightInfo) {
|
|
770
|
-
console.error(
|
|
810
|
+
console.error("Modified current highlight match before adding highlight list.");
|
|
771
811
|
return;
|
|
772
812
|
}
|
|
773
813
|
const oldMatch = highlightInfo.matches[highlightInfo.currentMatchIndex];
|
|
774
|
-
oldMatch?.highlightResult?.update(matchColor, oldMatch.isShadow ? undefined :
|
|
814
|
+
oldMatch?.highlightResult?.update(matchColor, oldMatch.isShadow ? undefined : "find-match");
|
|
775
815
|
const match = highlightInfo.matches[index];
|
|
776
816
|
highlightInfo.currentMatchIndex = index;
|
|
777
817
|
const sel = window.getSelection();
|
|
@@ -781,17 +821,20 @@ async function webviewPreloads(ctx) {
|
|
|
781
821
|
const outputOffset = window.document.getElementById(match.id).getBoundingClientRect().top;
|
|
782
822
|
const tempRange = document.createRange();
|
|
783
823
|
tempRange.selectNode(match.highlightResult.range.startContainer);
|
|
784
|
-
match.highlightResult.range.startContainer.parentElement?.scrollIntoView({
|
|
824
|
+
match.highlightResult.range.startContainer.parentElement?.scrollIntoView({
|
|
825
|
+
behavior: "auto",
|
|
826
|
+
block: "end",
|
|
827
|
+
inline: "nearest"
|
|
828
|
+
});
|
|
785
829
|
const rangeOffset = tempRange.getBoundingClientRect().top;
|
|
786
830
|
tempRange.detach();
|
|
787
831
|
offset = rangeOffset - outputOffset;
|
|
788
|
-
}
|
|
789
|
-
catch (e) {
|
|
832
|
+
} catch (e) {
|
|
790
833
|
console.error(e);
|
|
791
834
|
}
|
|
792
|
-
match.highlightResult?.update(currentMatchColor, match.isShadow ? undefined :
|
|
835
|
+
match.highlightResult?.update(currentMatchColor, match.isShadow ? undefined : "current-find-match");
|
|
793
836
|
window.document.getSelection()?.removeAllRanges();
|
|
794
|
-
postNotebookMessage(
|
|
837
|
+
postNotebookMessage("didFindHighlightCurrent", {
|
|
795
838
|
offset
|
|
796
839
|
});
|
|
797
840
|
}
|
|
@@ -803,7 +846,7 @@ async function webviewPreloads(ctx) {
|
|
|
803
846
|
}
|
|
804
847
|
const oldMatch = highlightInfo.matches[index];
|
|
805
848
|
if (oldMatch && oldMatch.highlightResult) {
|
|
806
|
-
oldMatch.highlightResult.update(matchColor, oldMatch.isShadow ? undefined :
|
|
849
|
+
oldMatch.highlightResult.update(matchColor, oldMatch.isShadow ? undefined : "find-match");
|
|
807
850
|
}
|
|
808
851
|
}
|
|
809
852
|
dispose() {
|
|
@@ -830,7 +873,7 @@ async function webviewPreloads(ctx) {
|
|
|
830
873
|
this._matchesHighlight.clear();
|
|
831
874
|
}
|
|
832
875
|
this._currentMatchesHighlight.clear();
|
|
833
|
-
this._activeHighlightInfo.forEach(
|
|
876
|
+
this._activeHighlightInfo.forEach(highlightInfo => {
|
|
834
877
|
if (updateMatchesHighlight) {
|
|
835
878
|
for (let i = 0; i < highlightInfo.matches.length; i++) {
|
|
836
879
|
this._matchesHighlight.add(highlightInfo.matches[i].originalRange);
|
|
@@ -847,14 +890,14 @@ async function webviewPreloads(ctx) {
|
|
|
847
890
|
}
|
|
848
891
|
const newEntry = {
|
|
849
892
|
matches,
|
|
850
|
-
currentMatchIndex: -1
|
|
893
|
+
currentMatchIndex: -1
|
|
851
894
|
};
|
|
852
895
|
this._activeHighlightInfo.set(ownerID, newEntry);
|
|
853
896
|
}
|
|
854
897
|
highlightCurrentMatch(index, ownerID) {
|
|
855
898
|
const highlightInfo = this._activeHighlightInfo.get(ownerID);
|
|
856
899
|
if (!highlightInfo) {
|
|
857
|
-
console.error(
|
|
900
|
+
console.error("Modified current highlight match before adding highlight list.");
|
|
858
901
|
return;
|
|
859
902
|
}
|
|
860
903
|
highlightInfo.currentMatchIndex = index;
|
|
@@ -863,14 +906,17 @@ async function webviewPreloads(ctx) {
|
|
|
863
906
|
let offset = 0;
|
|
864
907
|
try {
|
|
865
908
|
const outputOffset = window.document.getElementById(match.id).getBoundingClientRect().top;
|
|
866
|
-
match.originalRange.startContainer.parentElement?.scrollIntoView({
|
|
909
|
+
match.originalRange.startContainer.parentElement?.scrollIntoView({
|
|
910
|
+
behavior: "auto",
|
|
911
|
+
block: "end",
|
|
912
|
+
inline: "nearest"
|
|
913
|
+
});
|
|
867
914
|
const rangeOffset = match.originalRange.getBoundingClientRect().top;
|
|
868
915
|
offset = rangeOffset - outputOffset;
|
|
869
|
-
postNotebookMessage(
|
|
916
|
+
postNotebookMessage("didFindHighlightCurrent", {
|
|
870
917
|
offset
|
|
871
918
|
});
|
|
872
|
-
}
|
|
873
|
-
catch (e) {
|
|
919
|
+
} catch (e) {
|
|
874
920
|
console.error(e);
|
|
875
921
|
}
|
|
876
922
|
}
|
|
@@ -899,17 +945,20 @@ async function webviewPreloads(ctx) {
|
|
|
899
945
|
const oldRange = range.cloneRange();
|
|
900
946
|
const captureLength = ( selection.toString()).length;
|
|
901
947
|
selection.collapseToStart();
|
|
902
|
-
selection.modify(
|
|
903
|
-
selection.modify(
|
|
948
|
+
selection.modify("move", "backward", "lineboundary");
|
|
949
|
+
selection.modify("extend", "forward", "lineboundary");
|
|
904
950
|
const line = ( selection.toString());
|
|
905
951
|
const rangeStart = getStartOffset(selection.getRangeAt(0), oldRange);
|
|
906
952
|
const lineRange = {
|
|
907
953
|
start: rangeStart,
|
|
908
|
-
end: rangeStart + captureLength
|
|
954
|
+
end: rangeStart + captureLength
|
|
909
955
|
};
|
|
910
956
|
selection.removeAllRanges();
|
|
911
957
|
selection.addRange(oldRange);
|
|
912
|
-
return {
|
|
958
|
+
return {
|
|
959
|
+
line,
|
|
960
|
+
range: lineRange
|
|
961
|
+
};
|
|
913
962
|
}
|
|
914
963
|
function getStartOffset(lineRange, originalRange) {
|
|
915
964
|
const firstCommonAncestor = findFirstCommonAncestor(lineRange.startContainer, originalRange.startContainer);
|
|
@@ -927,8 +976,7 @@ async function webviewPreloads(ctx) {
|
|
|
927
976
|
let length = 0;
|
|
928
977
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
929
978
|
length += node.textContent?.length || 0;
|
|
930
|
-
}
|
|
931
|
-
else {
|
|
979
|
+
} else {
|
|
932
980
|
for (const childNode of node.childNodes) {
|
|
933
981
|
length += getTextContentLength(childNode);
|
|
934
982
|
}
|
|
@@ -954,57 +1002,59 @@ async function webviewPreloads(ctx) {
|
|
|
954
1002
|
let find = true;
|
|
955
1003
|
let matches = [];
|
|
956
1004
|
const range = document.createRange();
|
|
957
|
-
range.selectNodeContents(window.document.getElementById(
|
|
1005
|
+
range.selectNodeContents(window.document.getElementById("findStart"));
|
|
958
1006
|
const sel = window.getSelection();
|
|
959
1007
|
sel?.removeAllRanges();
|
|
960
1008
|
sel?.addRange(range);
|
|
961
1009
|
viewModel.toggleDragDropEnabled(false);
|
|
962
1010
|
try {
|
|
963
|
-
document.designMode =
|
|
1011
|
+
document.designMode = "On";
|
|
964
1012
|
while (find && matches.length < 500) {
|
|
965
|
-
find = window.find(
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1013
|
+
find = window.find(
|
|
1014
|
+
query,
|
|
1015
|
+
!!options.caseSensitive,
|
|
1016
|
+
false,
|
|
1017
|
+
false,
|
|
1018
|
+
!!options.wholeWord,
|
|
1019
|
+
true,
|
|
1020
|
+
false
|
|
1021
|
+
);
|
|
970
1022
|
if (find) {
|
|
971
1023
|
const selection = window.getSelection();
|
|
972
1024
|
if (!selection) {
|
|
973
|
-
console.log(
|
|
1025
|
+
console.log("no selection");
|
|
974
1026
|
break;
|
|
975
1027
|
}
|
|
976
|
-
if (options.includeMarkup && selection.rangeCount > 0 && selection.getRangeAt(0).startContainer.nodeType === 1
|
|
977
|
-
&& selection.getRangeAt(0).startContainer.classList.contains('markup')) {
|
|
1028
|
+
if (options.includeMarkup && selection.rangeCount > 0 && selection.getRangeAt(0).startContainer.nodeType === 1 && selection.getRangeAt(0).startContainer.classList.contains("markup")) {
|
|
978
1029
|
const preview = selection.anchorNode?.firstChild;
|
|
979
1030
|
const root = preview.shadowRoot;
|
|
980
1031
|
const shadowSelection = root?.getSelection ? root?.getSelection() : null;
|
|
981
1032
|
if (shadowSelection && shadowSelection.anchorNode) {
|
|
982
1033
|
matches.push({
|
|
983
|
-
type:
|
|
1034
|
+
type: "preview",
|
|
984
1035
|
id: preview.id,
|
|
985
1036
|
cellId: preview.id,
|
|
986
1037
|
container: preview,
|
|
987
1038
|
isShadow: true,
|
|
988
1039
|
originalRange: shadowSelection.getRangeAt(0),
|
|
989
|
-
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(shadowSelection) : undefined
|
|
1040
|
+
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(shadowSelection) : undefined
|
|
990
1041
|
});
|
|
991
1042
|
}
|
|
992
1043
|
}
|
|
993
|
-
if (options.includeOutput && selection.rangeCount > 0 && selection.getRangeAt(0).startContainer.nodeType === 1
|
|
994
|
-
&& selection.getRangeAt(0).startContainer.classList.contains('output_container')) {
|
|
1044
|
+
if (options.includeOutput && selection.rangeCount > 0 && selection.getRangeAt(0).startContainer.nodeType === 1 && selection.getRangeAt(0).startContainer.classList.contains("output_container")) {
|
|
995
1045
|
const cellId = selection.getRangeAt(0).startContainer.parentElement.id;
|
|
996
1046
|
const outputNode = selection.anchorNode?.firstChild;
|
|
997
1047
|
const root = outputNode.shadowRoot;
|
|
998
1048
|
const shadowSelection = root?.getSelection ? root?.getSelection() : null;
|
|
999
1049
|
if (shadowSelection && shadowSelection.anchorNode) {
|
|
1000
1050
|
matches.push({
|
|
1001
|
-
type:
|
|
1051
|
+
type: "output",
|
|
1002
1052
|
id: outputNode.id,
|
|
1003
1053
|
cellId: cellId,
|
|
1004
1054
|
container: outputNode,
|
|
1005
1055
|
isShadow: true,
|
|
1006
1056
|
originalRange: shadowSelection.getRangeAt(0),
|
|
1007
|
-
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(shadowSelection) : undefined
|
|
1057
|
+
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(shadowSelection) : undefined
|
|
1008
1058
|
});
|
|
1009
1059
|
}
|
|
1010
1060
|
}
|
|
@@ -1019,106 +1069,103 @@ async function webviewPreloads(ctx) {
|
|
|
1019
1069
|
container: lastEl.container,
|
|
1020
1070
|
isShadow: false,
|
|
1021
1071
|
originalRange: selection.getRangeAt(0),
|
|
1022
|
-
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(selection) : undefined
|
|
1072
|
+
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(selection) : undefined
|
|
1023
1073
|
});
|
|
1024
|
-
}
|
|
1025
|
-
else {
|
|
1074
|
+
} else {
|
|
1026
1075
|
for (let node = anchorNode; node; node = node.parentElement) {
|
|
1027
1076
|
if (!(node instanceof Element)) {
|
|
1028
1077
|
break;
|
|
1029
1078
|
}
|
|
1030
|
-
if (node.classList.contains(
|
|
1079
|
+
if (node.classList.contains("output") && options.includeOutput) {
|
|
1031
1080
|
const cellId = node.parentElement?.parentElement?.id;
|
|
1032
1081
|
if (cellId) {
|
|
1033
1082
|
matches.push({
|
|
1034
|
-
type:
|
|
1083
|
+
type: "output",
|
|
1035
1084
|
id: node.id,
|
|
1036
1085
|
cellId: cellId,
|
|
1037
1086
|
container: node,
|
|
1038
1087
|
isShadow: false,
|
|
1039
1088
|
originalRange: selection.getRangeAt(0),
|
|
1040
|
-
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(selection) : undefined
|
|
1089
|
+
searchPreviewInfo: options.shouldGetSearchPreviewInfo ? extractSelectionLine(selection) : undefined
|
|
1041
1090
|
});
|
|
1042
1091
|
}
|
|
1043
1092
|
break;
|
|
1044
1093
|
}
|
|
1045
|
-
if (node.id ===
|
|
1094
|
+
if (node.id === "container" || node === window.document.body) {
|
|
1046
1095
|
break;
|
|
1047
1096
|
}
|
|
1048
1097
|
}
|
|
1049
1098
|
}
|
|
1050
|
-
}
|
|
1051
|
-
else {
|
|
1099
|
+
} else {
|
|
1052
1100
|
break;
|
|
1053
1101
|
}
|
|
1054
1102
|
}
|
|
1055
1103
|
}
|
|
1056
|
-
}
|
|
1057
|
-
catch (e) {
|
|
1104
|
+
} catch (e) {
|
|
1058
1105
|
console.log(e);
|
|
1059
1106
|
}
|
|
1060
|
-
matches = matches.filter(
|
|
1107
|
+
matches = matches.filter(
|
|
1108
|
+
match => options.findIds.length ? options.findIds.includes(match.cellId) : true
|
|
1109
|
+
);
|
|
1061
1110
|
_highlighter.addHighlights(matches, options.ownerID);
|
|
1062
1111
|
window.document.getSelection()?.removeAllRanges();
|
|
1063
1112
|
viewModel.toggleDragDropEnabled(currentOptions.dragAndDropEnabled);
|
|
1064
|
-
document.designMode =
|
|
1065
|
-
postNotebookMessage(
|
|
1113
|
+
document.designMode = "Off";
|
|
1114
|
+
postNotebookMessage("didFind", {
|
|
1066
1115
|
matches: ( matches.map((match, index) => ({
|
|
1067
1116
|
type: match.type,
|
|
1068
1117
|
id: match.id,
|
|
1069
1118
|
cellId: match.cellId,
|
|
1070
1119
|
index,
|
|
1071
|
-
searchPreviewInfo: match.searchPreviewInfo
|
|
1120
|
+
searchPreviewInfo: match.searchPreviewInfo
|
|
1072
1121
|
})))
|
|
1073
1122
|
});
|
|
1074
1123
|
};
|
|
1075
1124
|
const copyOutputImage = async (outputId, altOutputId, textAlternates, retries = 5) => {
|
|
1076
1125
|
if (!window.document.hasFocus() && retries > 0) {
|
|
1077
|
-
setTimeout(() => {
|
|
1126
|
+
setTimeout(() => {
|
|
1127
|
+
copyOutputImage(outputId, altOutputId, textAlternates, retries - 1);
|
|
1128
|
+
}, 50);
|
|
1078
1129
|
return;
|
|
1079
1130
|
}
|
|
1080
1131
|
try {
|
|
1081
|
-
const outputElement = window.document.getElementById(outputId)
|
|
1082
|
-
|
|
1083
|
-
let image = outputElement?.querySelector('img');
|
|
1132
|
+
const outputElement = window.document.getElementById(outputId) ?? window.document.getElementById(altOutputId);
|
|
1133
|
+
let image = outputElement?.querySelector("img");
|
|
1084
1134
|
if (!image) {
|
|
1085
|
-
const svgImage = outputElement?.querySelector(
|
|
1086
|
-
outputElement?.querySelector('div.svgContainerStyle > svg');
|
|
1135
|
+
const svgImage = outputElement?.querySelector("svg.output-image") ?? outputElement?.querySelector("div.svgContainerStyle > svg");
|
|
1087
1136
|
if (svgImage) {
|
|
1088
1137
|
image = ( new Image());
|
|
1089
|
-
image.src =
|
|
1138
|
+
image.src = "data:image/svg+xml," + encodeURIComponent(svgImage.outerHTML);
|
|
1090
1139
|
}
|
|
1091
1140
|
}
|
|
1092
1141
|
if (image) {
|
|
1093
|
-
const ensureImageLoaded =
|
|
1142
|
+
const ensureImageLoaded = img => {
|
|
1094
1143
|
return ( new Promise((resolve, reject) => {
|
|
1095
1144
|
if (img.complete && img.naturalWidth > 0) {
|
|
1096
1145
|
resolve(img);
|
|
1097
|
-
}
|
|
1098
|
-
else {
|
|
1146
|
+
} else {
|
|
1099
1147
|
img.onload = () => resolve(img);
|
|
1100
|
-
img.onerror = () => reject(( new Error(
|
|
1101
|
-
setTimeout(() => reject(( new Error(
|
|
1148
|
+
img.onerror = () => reject(( new Error("Failed to load image")));
|
|
1149
|
+
setTimeout(() => reject(( new Error("Image load timeout"))), 5000);
|
|
1102
1150
|
}
|
|
1103
1151
|
}));
|
|
1104
1152
|
};
|
|
1105
1153
|
const imageToCopy = await ensureImageLoaded(image);
|
|
1106
1154
|
const clipboardData = {
|
|
1107
|
-
|
|
1108
|
-
const canvas = document.createElement(
|
|
1155
|
+
"image/png": ( new Promise(resolve => {
|
|
1156
|
+
const canvas = document.createElement("canvas");
|
|
1109
1157
|
canvas.width = imageToCopy.naturalWidth;
|
|
1110
1158
|
canvas.height = imageToCopy.naturalHeight;
|
|
1111
|
-
const context = canvas.getContext(
|
|
1159
|
+
const context = canvas.getContext("2d");
|
|
1112
1160
|
context.drawImage(imageToCopy, 0, 0);
|
|
1113
|
-
canvas.toBlob(
|
|
1161
|
+
canvas.toBlob(blob => {
|
|
1114
1162
|
if (blob) {
|
|
1115
1163
|
resolve(blob);
|
|
1116
|
-
}
|
|
1117
|
-
|
|
1118
|
-
console.error('No blob data to write to clipboard');
|
|
1164
|
+
} else {
|
|
1165
|
+
console.error("No blob data to write to clipboard");
|
|
1119
1166
|
}
|
|
1120
1167
|
canvas.remove();
|
|
1121
|
-
},
|
|
1168
|
+
}, "image/png");
|
|
1122
1169
|
}))
|
|
1123
1170
|
};
|
|
1124
1171
|
if (textAlternates) {
|
|
@@ -1127,96 +1174,111 @@ async function webviewPreloads(ctx) {
|
|
|
1127
1174
|
}
|
|
1128
1175
|
}
|
|
1129
1176
|
await navigator.clipboard.write([( new ClipboardItem(clipboardData))]);
|
|
1177
|
+
} else {
|
|
1178
|
+
console.error("Could not find image element to copy for output with id", outputId);
|
|
1130
1179
|
}
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
}
|
|
1134
|
-
}
|
|
1135
|
-
catch (e) {
|
|
1136
|
-
console.error('Could not copy image:', e);
|
|
1180
|
+
} catch (e) {
|
|
1181
|
+
console.error("Could not copy image:", e);
|
|
1137
1182
|
}
|
|
1138
1183
|
};
|
|
1139
|
-
window.addEventListener(
|
|
1184
|
+
window.addEventListener("message", async rawEvent => {
|
|
1140
1185
|
const event = rawEvent;
|
|
1141
1186
|
switch (event.data.type) {
|
|
1142
|
-
|
|
1187
|
+
case "initializeMarkup":
|
|
1188
|
+
{
|
|
1143
1189
|
try {
|
|
1144
1190
|
await Promise.all(( event.data.cells.map(info => viewModel.ensureMarkupCell(info))));
|
|
1145
|
-
}
|
|
1146
|
-
finally {
|
|
1191
|
+
} finally {
|
|
1147
1192
|
dimensionUpdater.updateImmediately();
|
|
1148
|
-
postNotebookMessage(
|
|
1193
|
+
postNotebookMessage("initializedMarkup", {
|
|
1194
|
+
requestId: event.data.requestId
|
|
1195
|
+
});
|
|
1149
1196
|
}
|
|
1150
1197
|
break;
|
|
1151
1198
|
}
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1199
|
+
case "createMarkupCell":
|
|
1200
|
+
viewModel.ensureMarkupCell(event.data.cell);
|
|
1201
|
+
break;
|
|
1202
|
+
case "showMarkupCell":
|
|
1203
|
+
viewModel.showMarkupCell(event.data.id, event.data.top, event.data.content, event.data.metadata);
|
|
1204
|
+
break;
|
|
1205
|
+
case "hideMarkupCells":
|
|
1206
|
+
for (const id of event.data.ids) {
|
|
1207
|
+
viewModel.hideMarkupCell(id);
|
|
1208
|
+
}
|
|
1209
|
+
break;
|
|
1210
|
+
case "unhideMarkupCells":
|
|
1211
|
+
for (const id of event.data.ids) {
|
|
1212
|
+
viewModel.unhideMarkupCell(id);
|
|
1213
|
+
}
|
|
1214
|
+
break;
|
|
1215
|
+
case "deleteMarkupCell":
|
|
1216
|
+
for (const id of event.data.ids) {
|
|
1217
|
+
viewModel.deleteMarkupCell(id);
|
|
1218
|
+
}
|
|
1219
|
+
break;
|
|
1220
|
+
case "updateSelectedMarkupCells":
|
|
1221
|
+
viewModel.updateSelectedCells(event.data.selectedCellIds);
|
|
1222
|
+
break;
|
|
1223
|
+
case "html":
|
|
1224
|
+
{
|
|
1177
1225
|
const data = event.data;
|
|
1178
1226
|
if (data.createOnIdle) {
|
|
1179
1227
|
outputRunner.enqueueIdle(data.outputId, signal => {
|
|
1180
1228
|
return viewModel.renderOutputCell(data, signal);
|
|
1181
1229
|
});
|
|
1182
|
-
}
|
|
1183
|
-
else {
|
|
1230
|
+
} else {
|
|
1184
1231
|
outputRunner.enqueue(data.outputId, signal => {
|
|
1185
1232
|
return viewModel.renderOutputCell(data, signal);
|
|
1186
1233
|
});
|
|
1187
1234
|
}
|
|
1188
1235
|
break;
|
|
1189
1236
|
}
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
});
|
|
1237
|
+
case "view-scroll":
|
|
1238
|
+
{
|
|
1239
|
+
event.data.widgets.forEach(widget => {
|
|
1240
|
+
outputRunner.enqueue(widget.outputId, () => {
|
|
1241
|
+
viewModel.updateOutputsScroll([widget]);
|
|
1196
1242
|
});
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
}
|
|
1200
|
-
case 'clear':
|
|
1201
|
-
renderers.clearAll();
|
|
1202
|
-
viewModel.clearAll();
|
|
1203
|
-
window.document.getElementById('container').innerText = '';
|
|
1243
|
+
});
|
|
1244
|
+
viewModel.updateMarkupScrolls(event.data.markupCells);
|
|
1204
1245
|
break;
|
|
1205
|
-
|
|
1206
|
-
|
|
1246
|
+
}
|
|
1247
|
+
case "clear":
|
|
1248
|
+
renderers.clearAll();
|
|
1249
|
+
viewModel.clearAll();
|
|
1250
|
+
window.document.getElementById("container").innerText = "";
|
|
1251
|
+
break;
|
|
1252
|
+
case "clearOutput":
|
|
1253
|
+
{
|
|
1254
|
+
const {
|
|
1255
|
+
cellId,
|
|
1256
|
+
rendererId,
|
|
1257
|
+
outputId
|
|
1258
|
+
} = event.data;
|
|
1207
1259
|
outputRunner.cancelOutput(outputId);
|
|
1208
1260
|
viewModel.clearOutput(cellId, outputId, rendererId);
|
|
1209
1261
|
break;
|
|
1210
1262
|
}
|
|
1211
|
-
|
|
1212
|
-
|
|
1263
|
+
case "hideOutput":
|
|
1264
|
+
{
|
|
1265
|
+
const {
|
|
1266
|
+
cellId,
|
|
1267
|
+
outputId
|
|
1268
|
+
} = event.data;
|
|
1213
1269
|
outputRunner.enqueue(outputId, () => {
|
|
1214
1270
|
viewModel.hideOutput(cellId);
|
|
1215
1271
|
});
|
|
1216
1272
|
break;
|
|
1217
1273
|
}
|
|
1218
|
-
|
|
1219
|
-
|
|
1274
|
+
case "showOutput":
|
|
1275
|
+
{
|
|
1276
|
+
const {
|
|
1277
|
+
outputId,
|
|
1278
|
+
cellTop,
|
|
1279
|
+
cellId,
|
|
1280
|
+
content
|
|
1281
|
+
} = event.data;
|
|
1220
1282
|
outputRunner.enqueue(outputId, () => {
|
|
1221
1283
|
viewModel.showOutput(cellId, outputId, cellTop);
|
|
1222
1284
|
if (content) {
|
|
@@ -1225,41 +1287,54 @@ async function webviewPreloads(ctx) {
|
|
|
1225
1287
|
});
|
|
1226
1288
|
break;
|
|
1227
1289
|
}
|
|
1228
|
-
|
|
1290
|
+
case "copyImage":
|
|
1291
|
+
{
|
|
1229
1292
|
await copyOutputImage(event.data.outputId, event.data.altOutputId, event.data.textAlternates);
|
|
1230
1293
|
break;
|
|
1231
1294
|
}
|
|
1232
|
-
|
|
1233
|
-
|
|
1295
|
+
case "ack-dimension":
|
|
1296
|
+
{
|
|
1297
|
+
for (const {
|
|
1298
|
+
cellId,
|
|
1299
|
+
outputId,
|
|
1300
|
+
height
|
|
1301
|
+
} of event.data.updates) {
|
|
1234
1302
|
viewModel.updateOutputHeight(cellId, outputId, height);
|
|
1235
1303
|
}
|
|
1236
1304
|
break;
|
|
1237
1305
|
}
|
|
1238
|
-
|
|
1306
|
+
case "preload":
|
|
1307
|
+
{
|
|
1239
1308
|
const resources = event.data.resources;
|
|
1240
|
-
for (const {
|
|
1309
|
+
for (const {
|
|
1310
|
+
uri
|
|
1311
|
+
} of resources) {
|
|
1241
1312
|
kernelPreloads.load(uri);
|
|
1242
1313
|
}
|
|
1243
1314
|
break;
|
|
1244
1315
|
}
|
|
1245
|
-
|
|
1246
|
-
|
|
1316
|
+
case "updateRenderers":
|
|
1317
|
+
{
|
|
1318
|
+
const {
|
|
1319
|
+
rendererData
|
|
1320
|
+
} = event.data;
|
|
1247
1321
|
renderers.updateRendererData(rendererData);
|
|
1248
1322
|
break;
|
|
1249
1323
|
}
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1324
|
+
case "focus-output":
|
|
1325
|
+
focusFirstFocusableOrContainerInOutput(event.data.cellOrOutputId, event.data.alternateId);
|
|
1326
|
+
break;
|
|
1327
|
+
case "blur-output":
|
|
1328
|
+
blurOutput();
|
|
1329
|
+
break;
|
|
1330
|
+
case "select-output-contents":
|
|
1331
|
+
selectOutputContents(event.data.cellOrOutputId);
|
|
1332
|
+
break;
|
|
1333
|
+
case "select-input-contents":
|
|
1334
|
+
selectInputContents(event.data.cellOrOutputId);
|
|
1335
|
+
break;
|
|
1336
|
+
case "decorations":
|
|
1337
|
+
{
|
|
1263
1338
|
let outputContainer = window.document.getElementById(event.data.cellId);
|
|
1264
1339
|
if (!outputContainer) {
|
|
1265
1340
|
viewModel.ensureOutputCell(event.data.cellId, -1e5, true);
|
|
@@ -1269,7 +1344,8 @@ async function webviewPreloads(ctx) {
|
|
|
1269
1344
|
outputContainer?.classList.remove(...event.data.removedClassNames);
|
|
1270
1345
|
break;
|
|
1271
1346
|
}
|
|
1272
|
-
|
|
1347
|
+
case "markupDecorations":
|
|
1348
|
+
{
|
|
1273
1349
|
const markupCell = window.document.getElementById(event.data.cellId);
|
|
1274
1350
|
if (markupCell) {
|
|
1275
1351
|
markupCell?.classList.add(...event.data.addedClassNames);
|
|
@@ -1277,17 +1353,18 @@ async function webviewPreloads(ctx) {
|
|
|
1277
1353
|
}
|
|
1278
1354
|
break;
|
|
1279
1355
|
}
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1356
|
+
case "customKernelMessage":
|
|
1357
|
+
onDidReceiveKernelMessage.fire(event.data.message);
|
|
1358
|
+
break;
|
|
1359
|
+
case "customRendererMessage":
|
|
1360
|
+
renderers.getRenderer(event.data.rendererId)?.receiveMessage(event.data.message);
|
|
1361
|
+
break;
|
|
1362
|
+
case "notebookStyles":
|
|
1363
|
+
{
|
|
1287
1364
|
const documentStyle = window.document.documentElement.style;
|
|
1288
1365
|
for (let i = documentStyle.length - 1; i >= 0; i--) {
|
|
1289
1366
|
const property = documentStyle[i];
|
|
1290
|
-
if (property && property.startsWith(
|
|
1367
|
+
if (property && property.startsWith("--notebook-")) {
|
|
1291
1368
|
documentStyle.removeProperty(property);
|
|
1292
1369
|
}
|
|
1293
1370
|
}
|
|
@@ -1296,44 +1373,54 @@ async function webviewPreloads(ctx) {
|
|
|
1296
1373
|
}
|
|
1297
1374
|
break;
|
|
1298
1375
|
}
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1376
|
+
case "notebookOptions":
|
|
1377
|
+
currentOptions = event.data.options;
|
|
1378
|
+
viewModel.toggleDragDropEnabled(currentOptions.dragAndDropEnabled);
|
|
1379
|
+
currentRenderOptions = event.data.renderOptions;
|
|
1380
|
+
settingChange.fire(currentRenderOptions);
|
|
1381
|
+
break;
|
|
1382
|
+
case "tokenizedCodeBlock":
|
|
1383
|
+
{
|
|
1384
|
+
const {
|
|
1385
|
+
codeBlockId,
|
|
1386
|
+
html
|
|
1387
|
+
} = event.data;
|
|
1307
1388
|
MarkdownCodeBlock.highlightCodeBlock(codeBlockId, html);
|
|
1308
1389
|
break;
|
|
1309
1390
|
}
|
|
1310
|
-
|
|
1391
|
+
case "tokenizedStylesChanged":
|
|
1392
|
+
{
|
|
1311
1393
|
tokenizationStyle.replaceSync(event.data.css);
|
|
1312
1394
|
break;
|
|
1313
1395
|
}
|
|
1314
|
-
|
|
1396
|
+
case "find":
|
|
1397
|
+
{
|
|
1315
1398
|
_highlighter.removeHighlights(event.data.options.ownerID);
|
|
1316
1399
|
find(event.data.query, event.data.options);
|
|
1317
1400
|
break;
|
|
1318
1401
|
}
|
|
1319
|
-
|
|
1402
|
+
case "findHighlightCurrent":
|
|
1403
|
+
{
|
|
1320
1404
|
_highlighter?.highlightCurrentMatch(event.data.index, event.data.ownerID);
|
|
1321
1405
|
break;
|
|
1322
1406
|
}
|
|
1323
|
-
|
|
1407
|
+
case "findUnHighlightCurrent":
|
|
1408
|
+
{
|
|
1324
1409
|
_highlighter?.unHighlightCurrentMatch(event.data.index, event.data.ownerID);
|
|
1325
1410
|
break;
|
|
1326
1411
|
}
|
|
1327
|
-
|
|
1412
|
+
case "findStop":
|
|
1413
|
+
{
|
|
1328
1414
|
_highlighter.removeHighlights(event.data.ownerID);
|
|
1329
1415
|
break;
|
|
1330
1416
|
}
|
|
1331
|
-
|
|
1417
|
+
case "returnOutputItem":
|
|
1418
|
+
{
|
|
1332
1419
|
outputItemRequests.resolveOutputItem(event.data.requestId, event.data.output);
|
|
1333
1420
|
}
|
|
1334
1421
|
}
|
|
1335
1422
|
});
|
|
1336
|
-
const renderFallbackErrorName =
|
|
1423
|
+
const renderFallbackErrorName = "vscode.fallbackToNextRenderer";
|
|
1337
1424
|
class Renderer {
|
|
1338
1425
|
constructor(data) {
|
|
1339
1426
|
this.data = data;
|
|
@@ -1345,47 +1432,69 @@ async function webviewPreloads(ctx) {
|
|
|
1345
1432
|
async renderOutputItem(item, element, signal) {
|
|
1346
1433
|
try {
|
|
1347
1434
|
await this.load();
|
|
1348
|
-
}
|
|
1349
|
-
catch (e) {
|
|
1435
|
+
} catch (e) {
|
|
1350
1436
|
if (!signal.aborted) {
|
|
1351
|
-
showRenderError(
|
|
1437
|
+
showRenderError(
|
|
1438
|
+
`Error loading renderer '${this.data.id}'`,
|
|
1439
|
+
element,
|
|
1440
|
+
e instanceof Error ? [e] : []
|
|
1441
|
+
);
|
|
1352
1442
|
}
|
|
1353
1443
|
return;
|
|
1354
1444
|
}
|
|
1355
1445
|
if (!this._api) {
|
|
1356
1446
|
if (!signal.aborted) {
|
|
1357
|
-
showRenderError(
|
|
1447
|
+
showRenderError(
|
|
1448
|
+
`Renderer '${this.data.id}' does not implement renderOutputItem`,
|
|
1449
|
+
element,
|
|
1450
|
+
[]
|
|
1451
|
+
);
|
|
1358
1452
|
}
|
|
1359
1453
|
return;
|
|
1360
1454
|
}
|
|
1361
1455
|
try {
|
|
1362
1456
|
const renderStart = performance.now();
|
|
1363
1457
|
await this._api.renderOutputItem(item, element, signal);
|
|
1364
|
-
this.postDebugMessage(
|
|
1365
|
-
|
|
1366
|
-
|
|
1458
|
+
this.postDebugMessage("Rendered output item", {
|
|
1459
|
+
id: item.id,
|
|
1460
|
+
duration: `${performance.now() - renderStart}ms`
|
|
1461
|
+
});
|
|
1462
|
+
} catch (e) {
|
|
1367
1463
|
if (signal.aborted) {
|
|
1368
1464
|
return;
|
|
1369
1465
|
}
|
|
1370
1466
|
if (e instanceof Error && e.name === renderFallbackErrorName) {
|
|
1371
1467
|
throw e;
|
|
1372
1468
|
}
|
|
1373
|
-
showRenderError(
|
|
1374
|
-
|
|
1469
|
+
showRenderError(
|
|
1470
|
+
`Error rendering output item using '${this.data.id}'`,
|
|
1471
|
+
element,
|
|
1472
|
+
e instanceof Error ? [e] : []
|
|
1473
|
+
);
|
|
1474
|
+
this.postDebugMessage("Rendering output item failed", {
|
|
1475
|
+
id: item.id,
|
|
1476
|
+
error: e + ""
|
|
1477
|
+
});
|
|
1375
1478
|
}
|
|
1376
1479
|
}
|
|
1377
1480
|
disposeOutputItem(id) {
|
|
1378
1481
|
this._api?.disposeOutputItem?.(id);
|
|
1379
1482
|
}
|
|
1380
1483
|
createRendererContext() {
|
|
1381
|
-
const {
|
|
1484
|
+
const {
|
|
1485
|
+
id,
|
|
1486
|
+
messaging
|
|
1487
|
+
} = this.data;
|
|
1382
1488
|
const context = {
|
|
1383
|
-
setState: newState => vscode.setState({
|
|
1489
|
+
setState: newState => vscode.setState({
|
|
1490
|
+
...vscode.getState(),
|
|
1491
|
+
[id]: newState
|
|
1492
|
+
}),
|
|
1384
1493
|
getState: () => {
|
|
1385
1494
|
const state = vscode.getState();
|
|
1386
|
-
return typeof state ===
|
|
1495
|
+
return typeof state === "object" && state ? state[id] : undefined;
|
|
1387
1496
|
},
|
|
1388
|
-
getRenderer: async
|
|
1497
|
+
getRenderer: async id => {
|
|
1389
1498
|
const renderer = renderers.getRenderer(id);
|
|
1390
1499
|
if (!renderer) {
|
|
1391
1500
|
return undefined;
|
|
@@ -1396,20 +1505,37 @@ async function webviewPreloads(ctx) {
|
|
|
1396
1505
|
return renderer.load();
|
|
1397
1506
|
},
|
|
1398
1507
|
workspace: {
|
|
1399
|
-
get isTrusted() {
|
|
1508
|
+
get isTrusted() {
|
|
1509
|
+
return isWorkspaceTrusted;
|
|
1510
|
+
}
|
|
1400
1511
|
},
|
|
1401
1512
|
settings: {
|
|
1402
|
-
get lineLimit() {
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
get
|
|
1406
|
-
|
|
1513
|
+
get lineLimit() {
|
|
1514
|
+
return currentRenderOptions.lineLimit;
|
|
1515
|
+
},
|
|
1516
|
+
get outputScrolling() {
|
|
1517
|
+
return currentRenderOptions.outputScrolling;
|
|
1518
|
+
},
|
|
1519
|
+
get outputWordWrap() {
|
|
1520
|
+
return currentRenderOptions.outputWordWrap;
|
|
1521
|
+
},
|
|
1522
|
+
get linkifyFilePaths() {
|
|
1523
|
+
return currentRenderOptions.linkifyFilePaths;
|
|
1524
|
+
},
|
|
1525
|
+
get minimalError() {
|
|
1526
|
+
return currentRenderOptions.minimalError;
|
|
1527
|
+
}
|
|
1407
1528
|
},
|
|
1408
|
-
get onDidChangeSettings() {
|
|
1529
|
+
get onDidChangeSettings() {
|
|
1530
|
+
return settingChange.event;
|
|
1531
|
+
}
|
|
1409
1532
|
};
|
|
1410
1533
|
if (messaging) {
|
|
1411
1534
|
context.onDidReceiveMessage = this._onMessageEvent.event;
|
|
1412
|
-
context.postMessage = message => postNotebookMessage(
|
|
1535
|
+
context.postMessage = message => postNotebookMessage("customRendererMessage", {
|
|
1536
|
+
rendererId: id,
|
|
1537
|
+
message
|
|
1538
|
+
});
|
|
1413
1539
|
}
|
|
1414
1540
|
return ( Object.freeze(context));
|
|
1415
1541
|
}
|
|
@@ -1418,45 +1544,51 @@ async function webviewPreloads(ctx) {
|
|
|
1418
1544
|
return this._loadPromise;
|
|
1419
1545
|
}
|
|
1420
1546
|
async _load() {
|
|
1421
|
-
this.postDebugMessage(
|
|
1547
|
+
this.postDebugMessage("Start loading renderer");
|
|
1422
1548
|
try {
|
|
1423
1549
|
await kernelPreloads.waitForAllCurrent();
|
|
1424
1550
|
const importStart = performance.now();
|
|
1425
1551
|
const module = await __import(this.data.entrypoint.path);
|
|
1426
|
-
this.postDebugMessage(
|
|
1552
|
+
this.postDebugMessage("Imported renderer", {
|
|
1553
|
+
duration: `${performance.now() - importStart}ms`
|
|
1554
|
+
});
|
|
1427
1555
|
if (!module) {
|
|
1428
1556
|
return;
|
|
1429
1557
|
}
|
|
1430
1558
|
this._api = await module.activate(this.createRendererContext());
|
|
1431
|
-
this.postDebugMessage(
|
|
1432
|
-
|
|
1433
|
-
|
|
1559
|
+
this.postDebugMessage("Activated renderer", {
|
|
1560
|
+
duration: `${performance.now() - importStart}ms`
|
|
1561
|
+
});
|
|
1562
|
+
const dependantRenderers = ctx.rendererData.filter(d => d.entrypoint.extends === this.data.id);
|
|
1434
1563
|
if (dependantRenderers.length) {
|
|
1435
|
-
this.postDebugMessage(
|
|
1564
|
+
this.postDebugMessage("Activating dependant renderers", {
|
|
1565
|
+
dependents: ( dependantRenderers.map(x => x.id)).join(", ")
|
|
1566
|
+
});
|
|
1436
1567
|
}
|
|
1437
|
-
await Promise.all(( dependantRenderers.map(async
|
|
1568
|
+
await Promise.all(( dependantRenderers.map(async d => {
|
|
1438
1569
|
const renderer = renderers.getRenderer(d.id);
|
|
1439
1570
|
if (!renderer) {
|
|
1440
1571
|
throw ( new Error(`Could not find extending renderer: ${d.id}`));
|
|
1441
1572
|
}
|
|
1442
1573
|
try {
|
|
1443
1574
|
return await renderer.load();
|
|
1444
|
-
}
|
|
1445
|
-
catch (e) {
|
|
1575
|
+
} catch (e) {
|
|
1446
1576
|
console.error(e);
|
|
1447
|
-
this.postDebugMessage(
|
|
1577
|
+
this.postDebugMessage("Activating dependant renderer failed", {
|
|
1578
|
+
dependent: d.id,
|
|
1579
|
+
error: e + ""
|
|
1580
|
+
});
|
|
1448
1581
|
return undefined;
|
|
1449
1582
|
}
|
|
1450
1583
|
})));
|
|
1451
1584
|
return this._api;
|
|
1452
|
-
}
|
|
1453
|
-
|
|
1454
|
-
this.postDebugMessage('Loading renderer failed');
|
|
1585
|
+
} catch (e) {
|
|
1586
|
+
this.postDebugMessage("Loading renderer failed");
|
|
1455
1587
|
throw e;
|
|
1456
1588
|
}
|
|
1457
1589
|
}
|
|
1458
1590
|
postDebugMessage(msg, data) {
|
|
1459
|
-
postNotebookMessage(
|
|
1591
|
+
postNotebookMessage("logRendererDebugMessage", {
|
|
1460
1592
|
message: `[renderer ${this.data.id}] - ${msg}`,
|
|
1461
1593
|
data
|
|
1462
1594
|
});
|
|
@@ -1470,17 +1602,14 @@ async function webviewPreloads(ctx) {
|
|
|
1470
1602
|
return this.preloads.get(uri) || Promise.resolve(( new Error(`Preload not ready: ${uri}`)));
|
|
1471
1603
|
}
|
|
1472
1604
|
load(uri) {
|
|
1473
|
-
const promise = Promise.all([
|
|
1474
|
-
runKernelPreload(uri),
|
|
1475
|
-
this.waitForAllCurrent(),
|
|
1476
|
-
]);
|
|
1605
|
+
const promise = Promise.all([runKernelPreload(uri), this.waitForAllCurrent()]);
|
|
1477
1606
|
this.preloads.set(uri, promise);
|
|
1478
1607
|
return promise;
|
|
1479
1608
|
}
|
|
1480
1609
|
waitForAllCurrent() {
|
|
1481
1610
|
return Promise.all(( [...( this.preloads.values())].map(p => p.catch(err => err))));
|
|
1482
1611
|
}
|
|
1483
|
-
});
|
|
1612
|
+
})();
|
|
1484
1613
|
const outputRunner = new (class {
|
|
1485
1614
|
constructor() {
|
|
1486
1615
|
this.outputs = ( new Map());
|
|
@@ -1492,10 +1621,12 @@ async function webviewPreloads(ctx) {
|
|
|
1492
1621
|
const record = this.outputs.get(outputId);
|
|
1493
1622
|
if (!record) {
|
|
1494
1623
|
const controller = ( new AbortController());
|
|
1495
|
-
this.outputs.set(outputId, {
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1624
|
+
this.outputs.set(outputId, {
|
|
1625
|
+
abort: controller,
|
|
1626
|
+
queue: ( new Promise(r => r(action(controller.signal))))
|
|
1627
|
+
});
|
|
1628
|
+
} else {
|
|
1629
|
+
record.queue = record.queue.then(async r => {
|
|
1499
1630
|
if (!record.abort.signal.aborted) {
|
|
1500
1631
|
await action(record.abort.signal);
|
|
1501
1632
|
}
|
|
@@ -1512,7 +1643,9 @@ async function webviewPreloads(ctx) {
|
|
|
1512
1643
|
cancelAll() {
|
|
1513
1644
|
this.pendingOutputCreationRequest.forEach(r => r.dispose());
|
|
1514
1645
|
this.pendingOutputCreationRequest.clear();
|
|
1515
|
-
for (const {
|
|
1646
|
+
for (const {
|
|
1647
|
+
abort
|
|
1648
|
+
} of ( this.outputs.values())) {
|
|
1516
1649
|
abort.abort();
|
|
1517
1650
|
}
|
|
1518
1651
|
this.outputs.clear();
|
|
@@ -1526,7 +1659,7 @@ async function webviewPreloads(ctx) {
|
|
|
1526
1659
|
this.outputs.delete(outputId);
|
|
1527
1660
|
}
|
|
1528
1661
|
}
|
|
1529
|
-
});
|
|
1662
|
+
})();
|
|
1530
1663
|
const renderers = new (class {
|
|
1531
1664
|
constructor() {
|
|
1532
1665
|
this._renderers = ( new Map());
|
|
@@ -1583,7 +1716,7 @@ async function webviewPreloads(ctx) {
|
|
|
1583
1716
|
async render(item, preferredRendererId, element, signal) {
|
|
1584
1717
|
const primaryRenderer = this.findRenderer(preferredRendererId, item);
|
|
1585
1718
|
if (!primaryRenderer) {
|
|
1586
|
-
const errorMessage = (window.document.documentElement.style.getPropertyValue(
|
|
1719
|
+
const errorMessage = (window.document.documentElement.style.getPropertyValue("--notebook-cell-renderer-not-found-error") || "").replace("$0", () => item.mime);
|
|
1587
1720
|
this.showRenderError(item, element, errorMessage);
|
|
1588
1721
|
return;
|
|
1589
1722
|
}
|
|
@@ -1607,35 +1740,38 @@ async function webviewPreloads(ctx) {
|
|
|
1607
1740
|
}
|
|
1608
1741
|
}
|
|
1609
1742
|
}
|
|
1610
|
-
const errorMessage = (window.document.documentElement.style.getPropertyValue(
|
|
1743
|
+
const errorMessage = (window.document.documentElement.style.getPropertyValue("--notebook-cell-renderer-fallbacks-exhausted") || "").replace("$0", () => item.mime);
|
|
1611
1744
|
this.showRenderError(item, element, errorMessage);
|
|
1612
1745
|
}
|
|
1613
1746
|
async _doRender(item, element, renderer, signal) {
|
|
1614
1747
|
try {
|
|
1615
1748
|
await renderer.renderOutputItem(item, element, signal);
|
|
1616
|
-
return {
|
|
1617
|
-
|
|
1618
|
-
|
|
1749
|
+
return {
|
|
1750
|
+
continue: false
|
|
1751
|
+
};
|
|
1752
|
+
} catch (e) {
|
|
1619
1753
|
if (signal.aborted) {
|
|
1620
|
-
return {
|
|
1754
|
+
return {
|
|
1755
|
+
continue: false
|
|
1756
|
+
};
|
|
1621
1757
|
}
|
|
1622
1758
|
if (e instanceof Error && e.name === renderFallbackErrorName) {
|
|
1623
|
-
return {
|
|
1624
|
-
|
|
1625
|
-
|
|
1759
|
+
return {
|
|
1760
|
+
continue: true
|
|
1761
|
+
};
|
|
1762
|
+
} else {
|
|
1626
1763
|
throw e;
|
|
1627
1764
|
}
|
|
1628
1765
|
}
|
|
1629
1766
|
}
|
|
1630
1767
|
findRenderer(preferredRendererId, info) {
|
|
1631
1768
|
let renderer;
|
|
1632
|
-
if (typeof preferredRendererId ===
|
|
1633
|
-
renderer = Array.from(( this._renderers.values()))
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
.filter((renderer) => renderer.data.mimeTypes.includes(info.mime) && !renderer.data.entrypoint.extends);
|
|
1769
|
+
if (typeof preferredRendererId === "string") {
|
|
1770
|
+
renderer = Array.from(( this._renderers.values())).find(renderer => renderer.data.id === preferredRendererId);
|
|
1771
|
+
} else {
|
|
1772
|
+
const renderers = Array.from(( this._renderers.values())).filter(
|
|
1773
|
+
renderer => renderer.data.mimeTypes.includes(info.mime) && !renderer.data.entrypoint.extends
|
|
1774
|
+
);
|
|
1639
1775
|
if (renderers.length) {
|
|
1640
1776
|
renderers.sort((a, b) => +a.data.isBuiltin - +b.data.isBuiltin);
|
|
1641
1777
|
renderer = renderers[0];
|
|
@@ -1644,15 +1780,15 @@ async function webviewPreloads(ctx) {
|
|
|
1644
1780
|
return renderer;
|
|
1645
1781
|
}
|
|
1646
1782
|
showRenderError(info, element, errorMessage) {
|
|
1647
|
-
const errorContainer = document.createElement(
|
|
1648
|
-
const error = document.createElement(
|
|
1649
|
-
error.className =
|
|
1783
|
+
const errorContainer = document.createElement("div");
|
|
1784
|
+
const error = document.createElement("div");
|
|
1785
|
+
error.className = "no-renderer-error";
|
|
1650
1786
|
error.innerText = errorMessage;
|
|
1651
|
-
const cellText = document.createElement(
|
|
1787
|
+
const cellText = document.createElement("div");
|
|
1652
1788
|
cellText.innerText = info.text();
|
|
1653
1789
|
errorContainer.appendChild(error);
|
|
1654
1790
|
errorContainer.appendChild(cellText);
|
|
1655
|
-
element.innerText =
|
|
1791
|
+
element.innerText = "";
|
|
1656
1792
|
element.appendChild(errorContainer);
|
|
1657
1793
|
}
|
|
1658
1794
|
})();
|
|
@@ -1678,7 +1814,7 @@ async function webviewPreloads(ctx) {
|
|
|
1678
1814
|
return existing;
|
|
1679
1815
|
}
|
|
1680
1816
|
const cell = ( new MarkupCell(init.cellId, init.mime, init.content, top, init.metadata));
|
|
1681
|
-
cell.element.style.visibility = visible ?
|
|
1817
|
+
cell.element.style.visibility = visible ? "" : "hidden";
|
|
1682
1818
|
this._markupCells.set(init.cellId, cell);
|
|
1683
1819
|
await cell.ready;
|
|
1684
1820
|
return cell;
|
|
@@ -1686,10 +1822,9 @@ async function webviewPreloads(ctx) {
|
|
|
1686
1822
|
async ensureMarkupCell(info) {
|
|
1687
1823
|
let cell = this._markupCells.get(info.cellId);
|
|
1688
1824
|
if (cell) {
|
|
1689
|
-
cell.element.style.visibility = info.visible ?
|
|
1825
|
+
cell.element.style.visibility = info.visible ? "" : "hidden";
|
|
1690
1826
|
await cell.updateContentAndRender(info.content, info.metadata);
|
|
1691
|
-
}
|
|
1692
|
-
else {
|
|
1827
|
+
} else {
|
|
1693
1828
|
cell = await this.createMarkupCell(info, info.offset, info.visible);
|
|
1694
1829
|
}
|
|
1695
1830
|
}
|
|
@@ -1737,7 +1872,10 @@ async function webviewPreloads(ctx) {
|
|
|
1737
1872
|
}
|
|
1738
1873
|
}
|
|
1739
1874
|
updateMarkupScrolls(markupCells) {
|
|
1740
|
-
for (const {
|
|
1875
|
+
for (const {
|
|
1876
|
+
id,
|
|
1877
|
+
top
|
|
1878
|
+
} of markupCells) {
|
|
1741
1879
|
const cell = this._markupCells.get(id);
|
|
1742
1880
|
if (cell) {
|
|
1743
1881
|
cell.element.style.top = `${top}px`;
|
|
@@ -1762,7 +1900,7 @@ async function webviewPreloads(ctx) {
|
|
|
1762
1900
|
if (existed && skipCellTopUpdateIfExist) {
|
|
1763
1901
|
return cell;
|
|
1764
1902
|
}
|
|
1765
|
-
cell.element.style.top = cellTop +
|
|
1903
|
+
cell.element.style.top = cellTop + "px";
|
|
1766
1904
|
return cell;
|
|
1767
1905
|
}
|
|
1768
1906
|
clearOutput(cellId, outputId, rendererId) {
|
|
@@ -1793,7 +1931,9 @@ async function webviewPreloads(ctx) {
|
|
|
1793
1931
|
}
|
|
1794
1932
|
})();
|
|
1795
1933
|
class MarkdownCodeBlock {
|
|
1796
|
-
static {
|
|
1934
|
+
static {
|
|
1935
|
+
this.pendingCodeBlocksToHighlight = ( new Map());
|
|
1936
|
+
}
|
|
1797
1937
|
static highlightCodeBlock(id, html) {
|
|
1798
1938
|
const el = MarkdownCodeBlock.pendingCodeBlocksToHighlight.get(id);
|
|
1799
1939
|
if (!el) {
|
|
@@ -1811,11 +1951,15 @@ async function webviewPreloads(ctx) {
|
|
|
1811
1951
|
static requestHighlightCodeBlock(root) {
|
|
1812
1952
|
const codeBlocks = [];
|
|
1813
1953
|
let i = 0;
|
|
1814
|
-
for (const el of root.querySelectorAll(
|
|
1815
|
-
const lang = el.getAttribute(
|
|
1954
|
+
for (const el of root.querySelectorAll(".vscode-code-block")) {
|
|
1955
|
+
const lang = el.getAttribute("data-vscode-code-block-lang");
|
|
1816
1956
|
if (el.textContent && lang) {
|
|
1817
1957
|
const id = `${Date.now()}-${i++}`;
|
|
1818
|
-
codeBlocks.push({
|
|
1958
|
+
codeBlocks.push({
|
|
1959
|
+
value: el.textContent,
|
|
1960
|
+
lang: lang,
|
|
1961
|
+
id
|
|
1962
|
+
});
|
|
1819
1963
|
MarkdownCodeBlock.pendingCodeBlocksToHighlight.set(id, el);
|
|
1820
1964
|
}
|
|
1821
1965
|
}
|
|
@@ -1827,8 +1971,16 @@ async function webviewPreloads(ctx) {
|
|
|
1827
1971
|
this._isDisposed = false;
|
|
1828
1972
|
const self = this;
|
|
1829
1973
|
this.id = id;
|
|
1830
|
-
this._content = {
|
|
1831
|
-
|
|
1974
|
+
this._content = {
|
|
1975
|
+
value: content,
|
|
1976
|
+
version: 0,
|
|
1977
|
+
metadata: metadata
|
|
1978
|
+
};
|
|
1979
|
+
const {
|
|
1980
|
+
promise,
|
|
1981
|
+
resolve,
|
|
1982
|
+
reject
|
|
1983
|
+
} = promiseWithResolvers();
|
|
1832
1984
|
this.ready = promise;
|
|
1833
1985
|
let cachedData;
|
|
1834
1986
|
this.outputItem = ( Object.freeze({
|
|
@@ -1848,27 +2000,32 @@ async function webviewPreloads(ctx) {
|
|
|
1848
2000
|
return cachedData.value;
|
|
1849
2001
|
}
|
|
1850
2002
|
const data = textEncoder.encode(this._content.value);
|
|
1851
|
-
cachedData = {
|
|
2003
|
+
cachedData = {
|
|
2004
|
+
version: this._content.version,
|
|
2005
|
+
value: data
|
|
2006
|
+
};
|
|
1852
2007
|
return data;
|
|
1853
2008
|
},
|
|
1854
2009
|
blob() {
|
|
1855
|
-
return ( new Blob([this.data()], {
|
|
2010
|
+
return ( new Blob([this.data()], {
|
|
2011
|
+
type: this.mime
|
|
2012
|
+
}));
|
|
1856
2013
|
},
|
|
1857
2014
|
_allOutputItems: [{
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
2015
|
+
mime,
|
|
2016
|
+
getItem: async () => this.outputItem
|
|
2017
|
+
}]
|
|
1861
2018
|
}));
|
|
1862
|
-
const root = window.document.getElementById(
|
|
1863
|
-
const markupCell = document.createElement(
|
|
1864
|
-
markupCell.className =
|
|
1865
|
-
markupCell.style.position =
|
|
1866
|
-
markupCell.style.width =
|
|
1867
|
-
this.element = document.createElement(
|
|
2019
|
+
const root = window.document.getElementById("container");
|
|
2020
|
+
const markupCell = document.createElement("div");
|
|
2021
|
+
markupCell.className = "markup";
|
|
2022
|
+
markupCell.style.position = "absolute";
|
|
2023
|
+
markupCell.style.width = "100%";
|
|
2024
|
+
this.element = document.createElement("div");
|
|
1868
2025
|
this.element.id = this.id;
|
|
1869
|
-
this.element.classList.add(
|
|
1870
|
-
this.element.style.position =
|
|
1871
|
-
this.element.style.top = top +
|
|
2026
|
+
this.element.classList.add("preview");
|
|
2027
|
+
this.element.style.position = "absolute";
|
|
2028
|
+
this.element.style.top = top + "px";
|
|
1872
2029
|
this.toggleDragDropEnabled(currentOptions.dragAndDropEnabled);
|
|
1873
2030
|
markupCell.appendChild(this.element);
|
|
1874
2031
|
root.appendChild(markupCell);
|
|
@@ -1886,50 +2043,59 @@ async function webviewPreloads(ctx) {
|
|
|
1886
2043
|
this.renderTaskAbort = undefined;
|
|
1887
2044
|
}
|
|
1888
2045
|
addEventListeners() {
|
|
1889
|
-
this.element.addEventListener(
|
|
1890
|
-
postNotebookMessage(
|
|
2046
|
+
this.element.addEventListener("dblclick", () => {
|
|
2047
|
+
postNotebookMessage("toggleMarkupPreview", {
|
|
2048
|
+
cellId: this.id
|
|
2049
|
+
});
|
|
1891
2050
|
});
|
|
1892
|
-
this.element.addEventListener(
|
|
1893
|
-
postNotebookMessage(
|
|
2051
|
+
this.element.addEventListener("click", e => {
|
|
2052
|
+
postNotebookMessage("clickMarkupCell", {
|
|
1894
2053
|
cellId: this.id,
|
|
1895
2054
|
altKey: e.altKey,
|
|
1896
2055
|
ctrlKey: e.ctrlKey,
|
|
1897
2056
|
metaKey: e.metaKey,
|
|
1898
|
-
shiftKey: e.shiftKey
|
|
2057
|
+
shiftKey: e.shiftKey
|
|
1899
2058
|
});
|
|
1900
2059
|
});
|
|
1901
|
-
this.element.addEventListener(
|
|
1902
|
-
postNotebookMessage(
|
|
2060
|
+
this.element.addEventListener("contextmenu", e => {
|
|
2061
|
+
postNotebookMessage("contextMenuMarkupCell", {
|
|
1903
2062
|
cellId: this.id,
|
|
1904
2063
|
clientX: e.clientX,
|
|
1905
|
-
clientY: e.clientY
|
|
2064
|
+
clientY: e.clientY
|
|
1906
2065
|
});
|
|
1907
2066
|
});
|
|
1908
|
-
this.element.addEventListener(
|
|
1909
|
-
postNotebookMessage(
|
|
2067
|
+
this.element.addEventListener("mouseenter", () => {
|
|
2068
|
+
postNotebookMessage("mouseEnterMarkupCell", {
|
|
2069
|
+
cellId: this.id
|
|
2070
|
+
});
|
|
1910
2071
|
});
|
|
1911
|
-
this.element.addEventListener(
|
|
1912
|
-
postNotebookMessage(
|
|
2072
|
+
this.element.addEventListener("mouseleave", () => {
|
|
2073
|
+
postNotebookMessage("mouseLeaveMarkupCell", {
|
|
2074
|
+
cellId: this.id
|
|
2075
|
+
});
|
|
1913
2076
|
});
|
|
1914
|
-
this.element.addEventListener(
|
|
2077
|
+
this.element.addEventListener("dragstart", e => {
|
|
1915
2078
|
markupCellDragManager.startDrag(e, this.id);
|
|
1916
2079
|
});
|
|
1917
|
-
this.element.addEventListener(
|
|
2080
|
+
this.element.addEventListener("drag", e => {
|
|
1918
2081
|
markupCellDragManager.updateDrag(e, this.id);
|
|
1919
2082
|
});
|
|
1920
|
-
this.element.addEventListener(
|
|
2083
|
+
this.element.addEventListener("dragend", e => {
|
|
1921
2084
|
markupCellDragManager.endDrag(e, this.id);
|
|
1922
2085
|
});
|
|
1923
2086
|
}
|
|
1924
2087
|
async updateContentAndRender(newContent, metadata) {
|
|
1925
|
-
this._content = {
|
|
2088
|
+
this._content = {
|
|
2089
|
+
value: newContent,
|
|
2090
|
+
version: this._content.version + 1,
|
|
2091
|
+
metadata
|
|
2092
|
+
};
|
|
1926
2093
|
this.renderTaskAbort?.abort();
|
|
1927
2094
|
const controller = ( new AbortController());
|
|
1928
2095
|
this.renderTaskAbort = controller;
|
|
1929
2096
|
try {
|
|
1930
2097
|
await renderers.render(this.outputItem, undefined, this.element, this.renderTaskAbort.signal);
|
|
1931
|
-
}
|
|
1932
|
-
finally {
|
|
2098
|
+
} finally {
|
|
1933
2099
|
if (this.renderTaskAbort === controller) {
|
|
1934
2100
|
this.renderTaskAbort = undefined;
|
|
1935
2101
|
}
|
|
@@ -1938,19 +2104,19 @@ async function webviewPreloads(ctx) {
|
|
|
1938
2104
|
const html = [];
|
|
1939
2105
|
for (const child of root.children) {
|
|
1940
2106
|
switch (child.tagName) {
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
2107
|
+
case "LINK":
|
|
2108
|
+
case "SCRIPT":
|
|
2109
|
+
case "STYLE":
|
|
2110
|
+
break;
|
|
2111
|
+
default:
|
|
2112
|
+
html.push(child.outerHTML);
|
|
2113
|
+
break;
|
|
1948
2114
|
}
|
|
1949
2115
|
}
|
|
1950
2116
|
const codeBlocks = MarkdownCodeBlock.requestHighlightCodeBlock(root);
|
|
1951
|
-
postNotebookMessage(
|
|
2117
|
+
postNotebookMessage("renderedMarkup", {
|
|
1952
2118
|
cellId: this.id,
|
|
1953
|
-
html: html.join(
|
|
2119
|
+
html: html.join(""),
|
|
1954
2120
|
codeBlocks
|
|
1955
2121
|
});
|
|
1956
2122
|
dimensionUpdater.updateHeight(this.id, this.element.offsetHeight, {
|
|
@@ -1958,20 +2124,19 @@ async function webviewPreloads(ctx) {
|
|
|
1958
2124
|
});
|
|
1959
2125
|
}
|
|
1960
2126
|
show(top, newContent, metadata) {
|
|
1961
|
-
this.element.style.visibility =
|
|
2127
|
+
this.element.style.visibility = "";
|
|
1962
2128
|
this.element.style.top = `${top}px`;
|
|
1963
|
-
if (typeof newContent ===
|
|
2129
|
+
if (typeof newContent === "string" || metadata) {
|
|
1964
2130
|
this.updateContentAndRender(newContent ?? this._content.value, metadata ?? this._content.metadata);
|
|
1965
|
-
}
|
|
1966
|
-
else {
|
|
2131
|
+
} else {
|
|
1967
2132
|
this.updateMarkupDimensions();
|
|
1968
2133
|
}
|
|
1969
2134
|
}
|
|
1970
2135
|
hide() {
|
|
1971
|
-
this.element.style.visibility =
|
|
2136
|
+
this.element.style.visibility = "hidden";
|
|
1972
2137
|
}
|
|
1973
2138
|
unhide() {
|
|
1974
|
-
this.element.style.visibility =
|
|
2139
|
+
this.element.style.visibility = "";
|
|
1975
2140
|
this.updateMarkupDimensions();
|
|
1976
2141
|
}
|
|
1977
2142
|
remove() {
|
|
@@ -1983,30 +2148,29 @@ async function webviewPreloads(ctx) {
|
|
|
1983
2148
|
});
|
|
1984
2149
|
}
|
|
1985
2150
|
setSelected(selected) {
|
|
1986
|
-
this.element.classList.toggle(
|
|
2151
|
+
this.element.classList.toggle("selected", selected);
|
|
1987
2152
|
}
|
|
1988
2153
|
toggleDragDropEnabled(enabled) {
|
|
1989
2154
|
if (enabled) {
|
|
1990
|
-
this.element.classList.add(
|
|
1991
|
-
this.element.setAttribute(
|
|
1992
|
-
}
|
|
1993
|
-
|
|
1994
|
-
this.element.
|
|
1995
|
-
this.element.removeAttribute('draggable');
|
|
2155
|
+
this.element.classList.add("draggable");
|
|
2156
|
+
this.element.setAttribute("draggable", "true");
|
|
2157
|
+
} else {
|
|
2158
|
+
this.element.classList.remove("draggable");
|
|
2159
|
+
this.element.removeAttribute("draggable");
|
|
1996
2160
|
}
|
|
1997
2161
|
}
|
|
1998
2162
|
}
|
|
1999
2163
|
class OutputCell {
|
|
2000
2164
|
constructor(cellId) {
|
|
2001
2165
|
this.outputElements = ( new Map());
|
|
2002
|
-
const container = window.document.getElementById(
|
|
2166
|
+
const container = window.document.getElementById("container");
|
|
2003
2167
|
const upperWrapperElement = createFocusSink(cellId);
|
|
2004
2168
|
container.appendChild(upperWrapperElement);
|
|
2005
|
-
this.element = document.createElement(
|
|
2006
|
-
this.element.style.position =
|
|
2007
|
-
this.element.style.outline =
|
|
2169
|
+
this.element = document.createElement("div");
|
|
2170
|
+
this.element.style.position = "absolute";
|
|
2171
|
+
this.element.style.outline = "0";
|
|
2008
2172
|
this.element.id = cellId;
|
|
2009
|
-
this.element.classList.add(
|
|
2173
|
+
this.element.classList.add("cell_container");
|
|
2010
2174
|
container.appendChild(this.element);
|
|
2011
2175
|
this.element = this.element;
|
|
2012
2176
|
const lowerWrapperElement = createFocusSink(cellId, true);
|
|
@@ -2031,14 +2195,14 @@ async function webviewPreloads(ctx) {
|
|
|
2031
2195
|
const startTime = Date.now();
|
|
2032
2196
|
const outputElement = this.createOutputElement(data);
|
|
2033
2197
|
await outputElement.render(data.content, data.rendererId, preloadErrors, signal);
|
|
2034
|
-
outputElement .element.style.visibility = data.initiallyHidden ?
|
|
2198
|
+
outputElement .element.style.visibility = data.initiallyHidden ? "hidden" : "";
|
|
2035
2199
|
if (!!data.executionId && !!data.rendererId) {
|
|
2036
2200
|
let outputSize = undefined;
|
|
2037
2201
|
if (data.content.type === 1 ) {
|
|
2038
2202
|
outputSize = data.content.output.valueBytes.length;
|
|
2039
2203
|
}
|
|
2040
2204
|
if (outputSize !== undefined && outputSize > 0 && outputSize < 100 * 1024) {
|
|
2041
|
-
postNotebookMessage(
|
|
2205
|
+
postNotebookMessage("notebookPerformanceMessage", {
|
|
2042
2206
|
cellId: data.cellId,
|
|
2043
2207
|
executionId: data.executionId,
|
|
2044
2208
|
duration: Date.now() - startTime,
|
|
@@ -2059,11 +2223,11 @@ async function webviewPreloads(ctx) {
|
|
|
2059
2223
|
if (!outputContainer) {
|
|
2060
2224
|
return;
|
|
2061
2225
|
}
|
|
2062
|
-
this.element.style.visibility =
|
|
2226
|
+
this.element.style.visibility = "";
|
|
2063
2227
|
this.element.style.top = `${top}px`;
|
|
2064
2228
|
}
|
|
2065
2229
|
hide() {
|
|
2066
|
-
this.element.style.visibility =
|
|
2230
|
+
this.element.style.visibility = "hidden";
|
|
2067
2231
|
}
|
|
2068
2232
|
updateContentAndRerender(outputId, content) {
|
|
2069
2233
|
this.outputElements.get(outputId)?.updateContentAndRender(content);
|
|
@@ -2077,11 +2241,11 @@ async function webviewPreloads(ctx) {
|
|
|
2077
2241
|
if (outputElement) {
|
|
2078
2242
|
outputElement.updateScroll(request.outputOffset);
|
|
2079
2243
|
if (request.forceDisplay && outputElement.outputNode) {
|
|
2080
|
-
outputElement.outputNode.element.style.visibility =
|
|
2244
|
+
outputElement.outputNode.element.style.visibility = "";
|
|
2081
2245
|
}
|
|
2082
2246
|
}
|
|
2083
2247
|
if (request.forceDisplay) {
|
|
2084
|
-
this.element.style.visibility =
|
|
2248
|
+
this.element.style.visibility = "";
|
|
2085
2249
|
}
|
|
2086
2250
|
}
|
|
2087
2251
|
}
|
|
@@ -2091,11 +2255,13 @@ async function webviewPreloads(ctx) {
|
|
|
2091
2255
|
}
|
|
2092
2256
|
constructor(outputId) {
|
|
2093
2257
|
this.outputId = outputId;
|
|
2094
|
-
this.element = document.createElement(
|
|
2095
|
-
this.element.classList.add(
|
|
2096
|
-
this.element.setAttribute(
|
|
2097
|
-
|
|
2098
|
-
|
|
2258
|
+
this.element = document.createElement("div");
|
|
2259
|
+
this.element.classList.add("output_container");
|
|
2260
|
+
this.element.setAttribute("data-vscode-context", JSON.stringify({
|
|
2261
|
+
"preventDefaultContextMenuItems": true
|
|
2262
|
+
}));
|
|
2263
|
+
this.element.style.position = "absolute";
|
|
2264
|
+
this.element.style.overflow = "hidden";
|
|
2099
2265
|
}
|
|
2100
2266
|
dispose() {
|
|
2101
2267
|
this._outputNode?.dispose();
|
|
@@ -2114,8 +2280,8 @@ async function webviewPreloads(ctx) {
|
|
|
2114
2280
|
this.element.style.top = `${outputOffset}px`;
|
|
2115
2281
|
}
|
|
2116
2282
|
createOutputElement(outputId, outputOffset, left, cellId) {
|
|
2117
|
-
this.element.innerText =
|
|
2118
|
-
this.element.style.maxHeight =
|
|
2283
|
+
this.element.innerText = "";
|
|
2284
|
+
this.element.style.maxHeight = "0px";
|
|
2119
2285
|
this.element.style.top = `${outputOffset}px`;
|
|
2120
2286
|
this._outputNode?.dispose();
|
|
2121
2287
|
this._outputNode = ( new OutputElement(outputId, left, cellId));
|
|
@@ -2128,7 +2294,7 @@ async function webviewPreloads(ctx) {
|
|
|
2128
2294
|
}
|
|
2129
2295
|
vscode.postMessage({
|
|
2130
2296
|
__vscode_notebook_message: true,
|
|
2131
|
-
type:
|
|
2297
|
+
type: "initialized"
|
|
2132
2298
|
});
|
|
2133
2299
|
for (const preload of ctx.staticPreloadsData) {
|
|
2134
2300
|
kernelPreloads.load(preload.entrypoint);
|
|
@@ -2146,39 +2312,43 @@ async function webviewPreloads(ctx) {
|
|
|
2146
2312
|
this.cellId = cellId;
|
|
2147
2313
|
this.hasResizeObserver = false;
|
|
2148
2314
|
this.isImageOutput = false;
|
|
2149
|
-
this.element = document.createElement(
|
|
2315
|
+
this.element = document.createElement("div");
|
|
2150
2316
|
this.element.id = outputId;
|
|
2151
|
-
this.element.classList.add(
|
|
2152
|
-
this.element.style.position =
|
|
2317
|
+
this.element.classList.add("output");
|
|
2318
|
+
this.element.style.position = "absolute";
|
|
2153
2319
|
this.element.style.top = `0px`;
|
|
2154
|
-
this.element.style.left = left +
|
|
2320
|
+
this.element.style.left = left + "px";
|
|
2155
2321
|
this.element.style.padding = `${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodeLeftPadding}`;
|
|
2156
|
-
this.element.addEventListener(
|
|
2157
|
-
postNotebookMessage(
|
|
2322
|
+
this.element.addEventListener("mouseenter", () => {
|
|
2323
|
+
postNotebookMessage("mouseenter", {
|
|
2324
|
+
id: outputId
|
|
2325
|
+
});
|
|
2158
2326
|
});
|
|
2159
|
-
this.element.addEventListener(
|
|
2160
|
-
postNotebookMessage(
|
|
2327
|
+
this.element.addEventListener("mouseleave", () => {
|
|
2328
|
+
postNotebookMessage("mouseleave", {
|
|
2329
|
+
id: outputId
|
|
2330
|
+
});
|
|
2161
2331
|
});
|
|
2162
|
-
this.element.addEventListener(
|
|
2332
|
+
this.element.addEventListener("dragstart", e => {
|
|
2163
2333
|
if (!e.dataTransfer) {
|
|
2164
2334
|
return;
|
|
2165
2335
|
}
|
|
2166
2336
|
const outputData = {
|
|
2167
|
-
outputId: this.outputId
|
|
2337
|
+
outputId: this.outputId
|
|
2168
2338
|
};
|
|
2169
|
-
e.dataTransfer.setData(
|
|
2339
|
+
e.dataTransfer.setData("notebook-cell-output", JSON.stringify(outputData));
|
|
2170
2340
|
});
|
|
2171
|
-
window.addEventListener(
|
|
2341
|
+
window.addEventListener("keydown", e => {
|
|
2172
2342
|
if (e.altKey) {
|
|
2173
2343
|
this.element.draggable = true;
|
|
2174
2344
|
}
|
|
2175
2345
|
});
|
|
2176
|
-
window.addEventListener(
|
|
2346
|
+
window.addEventListener("keyup", e => {
|
|
2177
2347
|
if (!e.altKey) {
|
|
2178
2348
|
this.element.draggable = this.isImageOutput;
|
|
2179
2349
|
}
|
|
2180
2350
|
});
|
|
2181
|
-
window.addEventListener(
|
|
2351
|
+
window.addEventListener("blur", () => {
|
|
2182
2352
|
this.element.draggable = this.isImageOutput;
|
|
2183
2353
|
});
|
|
2184
2354
|
}
|
|
@@ -2189,27 +2359,34 @@ async function webviewPreloads(ctx) {
|
|
|
2189
2359
|
async render(content, preferredRendererId, preloadErrors, signal) {
|
|
2190
2360
|
this.renderTaskAbort?.abort();
|
|
2191
2361
|
this.renderTaskAbort = undefined;
|
|
2192
|
-
this._content = {
|
|
2362
|
+
this._content = {
|
|
2363
|
+
preferredRendererId,
|
|
2364
|
+
preloadErrors
|
|
2365
|
+
};
|
|
2193
2366
|
if (content.type === 0 ) {
|
|
2194
2367
|
const trustedHtml = ttPolicy?.createHTML(content.htmlContent) ?? content.htmlContent;
|
|
2195
2368
|
this.element.innerHTML = trustedHtml;
|
|
2196
|
-
}
|
|
2197
|
-
|
|
2198
|
-
const errors = preloadErrors.filter((e) => e instanceof Error);
|
|
2369
|
+
} else if (( preloadErrors.some(e => e instanceof Error))) {
|
|
2370
|
+
const errors = preloadErrors.filter(e => e instanceof Error);
|
|
2199
2371
|
showRenderError(`Error loading preloads`, this.element, errors);
|
|
2200
|
-
}
|
|
2201
|
-
|
|
2202
|
-
const imageMimeTypes = ['image/png', 'image/jpeg', 'image/svg'];
|
|
2372
|
+
} else {
|
|
2373
|
+
const imageMimeTypes = ["image/png", "image/jpeg", "image/svg"];
|
|
2203
2374
|
this.isImageOutput = imageMimeTypes.includes(content.output.mime);
|
|
2204
2375
|
this.element.draggable = this.isImageOutput;
|
|
2205
|
-
const item = createOutputItem(
|
|
2376
|
+
const item = createOutputItem(
|
|
2377
|
+
this.outputId,
|
|
2378
|
+
content.output.mime,
|
|
2379
|
+
content.metadata,
|
|
2380
|
+
content.output.valueBytes,
|
|
2381
|
+
content.allOutputs,
|
|
2382
|
+
content.output.appended
|
|
2383
|
+
);
|
|
2206
2384
|
const controller = ( new AbortController());
|
|
2207
2385
|
this.renderTaskAbort = controller;
|
|
2208
|
-
signal?.addEventListener(
|
|
2386
|
+
signal?.addEventListener("abort", () => controller.abort());
|
|
2209
2387
|
try {
|
|
2210
2388
|
await renderers.render(item, preferredRendererId, this.element, controller.signal);
|
|
2211
|
-
}
|
|
2212
|
-
finally {
|
|
2389
|
+
} finally {
|
|
2213
2390
|
if (this.renderTaskAbort === controller) {
|
|
2214
2391
|
this.renderTaskAbort = undefined;
|
|
2215
2392
|
}
|
|
@@ -2223,30 +2400,28 @@ async function webviewPreloads(ctx) {
|
|
|
2223
2400
|
const cps = document.defaultView.getComputedStyle(this.element);
|
|
2224
2401
|
const verticalPadding = parseFloat(cps.paddingTop) + parseFloat(cps.paddingBottom);
|
|
2225
2402
|
const contentHeight = offsetHeight - verticalPadding;
|
|
2226
|
-
if (elementHasContent(contentHeight) && cps.padding ===
|
|
2403
|
+
if (elementHasContent(contentHeight) && cps.padding === "0px") {
|
|
2227
2404
|
dimensionUpdater.updateHeight(this.outputId, offsetHeight + ctx.style.outputNodePadding * 2, {
|
|
2228
2405
|
isOutput: true,
|
|
2229
2406
|
init: true
|
|
2230
2407
|
});
|
|
2231
2408
|
this.element.style.padding = `${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodePadding}px ${ctx.style.outputNodeLeftPadding}`;
|
|
2232
|
-
}
|
|
2233
|
-
else if (elementHasContent(contentHeight)) {
|
|
2409
|
+
} else if (elementHasContent(contentHeight)) {
|
|
2234
2410
|
dimensionUpdater.updateHeight(this.outputId, this.element.offsetHeight, {
|
|
2235
2411
|
isOutput: true,
|
|
2236
2412
|
init: true
|
|
2237
2413
|
});
|
|
2238
2414
|
this.element.style.padding = `0 ${ctx.style.outputNodePadding}px 0 ${ctx.style.outputNodeLeftPadding}`;
|
|
2239
|
-
}
|
|
2240
|
-
else {
|
|
2415
|
+
} else {
|
|
2241
2416
|
dimensionUpdater.updateHeight(this.outputId, 0, {
|
|
2242
2417
|
isOutput: true,
|
|
2243
|
-
init: true
|
|
2418
|
+
init: true
|
|
2244
2419
|
});
|
|
2245
2420
|
}
|
|
2246
2421
|
const root = this.element.shadowRoot ?? this.element;
|
|
2247
2422
|
const codeBlocks = MarkdownCodeBlock.requestHighlightCodeBlock(root);
|
|
2248
2423
|
if (codeBlocks.length > 0) {
|
|
2249
|
-
postNotebookMessage(
|
|
2424
|
+
postNotebookMessage("renderedCellOutput", {
|
|
2250
2425
|
codeBlocks
|
|
2251
2426
|
});
|
|
2252
2427
|
}
|
|
@@ -2259,21 +2434,21 @@ async function webviewPreloads(ctx) {
|
|
|
2259
2434
|
}
|
|
2260
2435
|
const markupCellDragManager = new (class MarkupCellDragManager {
|
|
2261
2436
|
constructor() {
|
|
2262
|
-
window.document.addEventListener(
|
|
2437
|
+
window.document.addEventListener("dragover", e => {
|
|
2263
2438
|
e.preventDefault();
|
|
2264
2439
|
});
|
|
2265
|
-
window.document.addEventListener(
|
|
2440
|
+
window.document.addEventListener("drop", e => {
|
|
2266
2441
|
e.preventDefault();
|
|
2267
2442
|
const drag = this.currentDrag;
|
|
2268
2443
|
if (!drag) {
|
|
2269
2444
|
return;
|
|
2270
2445
|
}
|
|
2271
2446
|
this.currentDrag = undefined;
|
|
2272
|
-
postNotebookMessage(
|
|
2447
|
+
postNotebookMessage("cell-drop", {
|
|
2273
2448
|
cellId: drag.cellId,
|
|
2274
2449
|
ctrlKey: e.ctrlKey,
|
|
2275
2450
|
altKey: e.altKey,
|
|
2276
|
-
dragOffsetY: e.clientY
|
|
2451
|
+
dragOffsetY: e.clientY
|
|
2277
2452
|
});
|
|
2278
2453
|
});
|
|
2279
2454
|
}
|
|
@@ -2284,32 +2459,35 @@ async function webviewPreloads(ctx) {
|
|
|
2284
2459
|
if (!currentOptions.dragAndDropEnabled) {
|
|
2285
2460
|
return;
|
|
2286
2461
|
}
|
|
2287
|
-
this.currentDrag = {
|
|
2462
|
+
this.currentDrag = {
|
|
2463
|
+
cellId,
|
|
2464
|
+
clientY: e.clientY
|
|
2465
|
+
};
|
|
2288
2466
|
const overlayZIndex = 9999;
|
|
2289
2467
|
if (!this.dragOverlay) {
|
|
2290
|
-
this.dragOverlay = document.createElement(
|
|
2291
|
-
this.dragOverlay.style.position =
|
|
2292
|
-
this.dragOverlay.style.top =
|
|
2293
|
-
this.dragOverlay.style.left =
|
|
2468
|
+
this.dragOverlay = document.createElement("div");
|
|
2469
|
+
this.dragOverlay.style.position = "absolute";
|
|
2470
|
+
this.dragOverlay.style.top = "0";
|
|
2471
|
+
this.dragOverlay.style.left = "0";
|
|
2294
2472
|
this.dragOverlay.style.zIndex = `${overlayZIndex}`;
|
|
2295
|
-
this.dragOverlay.style.width =
|
|
2296
|
-
this.dragOverlay.style.height =
|
|
2297
|
-
this.dragOverlay.style.background =
|
|
2473
|
+
this.dragOverlay.style.width = "100%";
|
|
2474
|
+
this.dragOverlay.style.height = "100%";
|
|
2475
|
+
this.dragOverlay.style.background = "transparent";
|
|
2298
2476
|
window.document.body.appendChild(this.dragOverlay);
|
|
2299
2477
|
}
|
|
2300
2478
|
e.target.style.zIndex = `${overlayZIndex + 1}`;
|
|
2301
|
-
e.target.classList.add(
|
|
2302
|
-
postNotebookMessage(
|
|
2479
|
+
e.target.classList.add("dragging");
|
|
2480
|
+
postNotebookMessage("cell-drag-start", {
|
|
2303
2481
|
cellId: cellId,
|
|
2304
|
-
dragOffsetY: e.clientY
|
|
2482
|
+
dragOffsetY: e.clientY
|
|
2305
2483
|
});
|
|
2306
2484
|
const trySendDragUpdate = () => {
|
|
2307
2485
|
if (this.currentDrag?.cellId !== cellId) {
|
|
2308
2486
|
return;
|
|
2309
2487
|
}
|
|
2310
|
-
postNotebookMessage(
|
|
2488
|
+
postNotebookMessage("cell-drag", {
|
|
2311
2489
|
cellId: cellId,
|
|
2312
|
-
dragOffsetY: this.currentDrag.clientY
|
|
2490
|
+
dragOffsetY: this.currentDrag.clientY
|
|
2313
2491
|
});
|
|
2314
2492
|
window.requestAnimationFrame(trySendDragUpdate);
|
|
2315
2493
|
};
|
|
@@ -2318,26 +2496,36 @@ async function webviewPreloads(ctx) {
|
|
|
2318
2496
|
updateDrag(e, cellId) {
|
|
2319
2497
|
if (cellId !== this.currentDrag?.cellId) {
|
|
2320
2498
|
this.currentDrag = undefined;
|
|
2321
|
-
}
|
|
2322
|
-
|
|
2323
|
-
|
|
2499
|
+
} else {
|
|
2500
|
+
this.currentDrag = {
|
|
2501
|
+
cellId,
|
|
2502
|
+
clientY: e.clientY
|
|
2503
|
+
};
|
|
2324
2504
|
}
|
|
2325
2505
|
}
|
|
2326
2506
|
endDrag(e, cellId) {
|
|
2327
2507
|
this.currentDrag = undefined;
|
|
2328
|
-
e.target.classList.remove(
|
|
2329
|
-
postNotebookMessage(
|
|
2508
|
+
e.target.classList.remove("dragging");
|
|
2509
|
+
postNotebookMessage("cell-drag-end", {
|
|
2330
2510
|
cellId: cellId
|
|
2331
2511
|
});
|
|
2332
2512
|
if (this.dragOverlay) {
|
|
2333
2513
|
this.dragOverlay.remove();
|
|
2334
2514
|
this.dragOverlay = undefined;
|
|
2335
2515
|
}
|
|
2336
|
-
e.target.style.zIndex =
|
|
2516
|
+
e.target.style.zIndex = "";
|
|
2337
2517
|
}
|
|
2338
2518
|
})();
|
|
2339
2519
|
}
|
|
2340
|
-
function preloadsScriptStr(
|
|
2520
|
+
function preloadsScriptStr(
|
|
2521
|
+
styleValues,
|
|
2522
|
+
options,
|
|
2523
|
+
renderOptions,
|
|
2524
|
+
renderers,
|
|
2525
|
+
preloads,
|
|
2526
|
+
isWorkspaceTrusted,
|
|
2527
|
+
nonce
|
|
2528
|
+
) {
|
|
2341
2529
|
const ctx = {
|
|
2342
2530
|
style: styleValues,
|
|
2343
2531
|
options,
|
|
@@ -2345,13 +2533,13 @@ function preloadsScriptStr(styleValues, options, renderOptions, renderers, prelo
|
|
|
2345
2533
|
rendererData: renderers,
|
|
2346
2534
|
staticPreloadsData: preloads,
|
|
2347
2535
|
isWorkspaceTrusted,
|
|
2348
|
-
nonce
|
|
2536
|
+
nonce
|
|
2349
2537
|
};
|
|
2350
2538
|
return `
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2539
|
+
const __import = (x) => import(x);
|
|
2540
|
+
(${webviewPreloads})(
|
|
2541
|
+
JSON.parse(decodeURIComponent("${encodeURIComponent(JSON.stringify(ctx))}"))
|
|
2542
|
+
)\n//# sourceURL=notebookWebviewPreloads.js\n`;
|
|
2355
2543
|
}
|
|
2356
2544
|
|
|
2357
2545
|
export { preloadsScriptStr };
|