monaco-editor 0.56.0-dev-20260121 → 0.56.0-dev-20260122

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.
Files changed (159) hide show
  1. package/dev/vs/assets/{css.worker-C1mHXZTT.js → css.worker-DFWL8mWf.js} +3 -1
  2. package/dev/vs/assets/{editor.worker-DMuwmZqI.js → editor.worker-DvLCS5qo.js} +3 -1
  3. package/dev/vs/assets/{editorWebWorkerMain-BF9MKtzx.js → editorWebWorkerMain-deOPs7AH.js} +3 -1
  4. package/dev/vs/assets/{html.worker-CnU9mi9l.js → html.worker-CQNY7DBe.js} +3 -1
  5. package/dev/vs/assets/{json.worker-CnKP0LWf.js → json.worker-C9pheOUa.js} +3 -1
  6. package/dev/vs/assets/{ts.worker-Cw4JXdL0.js → ts.worker-Du12m7rw.js} +3 -1
  7. package/dev/vs/basic-languages/monaco.contribution.js +18 -18
  8. package/dev/vs/{css.worker-B9TJsr2Z.js → css.worker-kKwJXuIn.js} +2 -2
  9. package/dev/vs/{cssMode-B0VkNrib.js → cssMode-C6tcxH2S.js} +1 -1
  10. package/dev/vs/editor/editor.main.css +5 -43
  11. package/dev/vs/editor/editor.main.js +2 -2
  12. package/dev/vs/editor/editor.worker.js +1 -1
  13. package/dev/vs/{editor-CR18QzPP.js → editor-B9pgTCSU.js} +68 -5
  14. package/dev/vs/editor.js +1 -1
  15. package/dev/vs/{editorWorkerHost--0eDLpc-.js → editorWorkerHost-sGvqyT60.js} +4 -2
  16. package/dev/vs/{freemarker2-Byr9HmH9.js → freemarker2-BWdXDyq0.js} +1 -1
  17. package/dev/vs/{handlebars-BEVXeROF.js → handlebars-DHkhXlH4.js} +1 -1
  18. package/dev/vs/{html-CetHjWIf.js → html-CwYRLTCW.js} +1 -1
  19. package/dev/vs/{html.worker-B4TnFQEA.js → html.worker-DFrb_FqU.js} +2 -2
  20. package/dev/vs/{htmlMode-BNKYUVNo.js → htmlMode-DGw6u-_x.js} +1 -1
  21. package/dev/vs/{index-g_7JbDIY.js → index-JToR8Kbi.js} +1 -1
  22. package/dev/vs/index.js +1 -1
  23. package/dev/vs/{initialize-Bfvoywyr.js → initialize-BN1LUh1y.js} +1 -1
  24. package/dev/vs/{javascript-BEgEU725.js → javascript-BwVTT-pd.js} +1 -1
  25. package/dev/vs/{json.worker-C2LEGBju.js → json.worker-DoHfmw11.js} +2 -2
  26. package/dev/vs/{jsonMode-CT2UkfFE.js → jsonMode-DB_GUGzo.js} +1 -1
  27. package/dev/vs/language/css/css.worker.js +1 -1
  28. package/dev/vs/language/css/monaco.contribution.js +1 -1
  29. package/dev/vs/language/html/html.worker.js +1 -1
  30. package/dev/vs/language/html/monaco.contribution.js +1 -1
  31. package/dev/vs/language/json/json.worker.js +1 -1
  32. package/dev/vs/language/json/monaco.contribution.js +1 -1
  33. package/dev/vs/language/typescript/monaco.contribution.js +1 -1
  34. package/dev/vs/language/typescript/ts.worker.js +1 -1
  35. package/dev/vs/{liquid-D-aiCb1P.js → liquid-7Ua4uCpc.js} +1 -1
  36. package/dev/vs/{lspLanguageFeatures-CE9Occyu.js → lspLanguageFeatures-Qf3eaHTC.js} +1 -1
  37. package/dev/vs/{mdx-DchJ8pbq.js → mdx-CypIFtZs.js} +1 -1
  38. package/dev/vs/{monaco.contribution-CZxuzvA9.js → monaco.contribution-9jkd1kDI.js} +2 -2
  39. package/dev/vs/{monaco.contribution-Cw4OdERZ.js → monaco.contribution-BAR8bx2O.js} +2 -2
  40. package/dev/vs/{monaco.contribution-CHqb1dWh.js → monaco.contribution-BvYOcRCN.js} +2 -2
  41. package/dev/vs/{monaco.contribution-CVBrIlxn.js → monaco.contribution-mda4i34p.js} +2 -2
  42. package/dev/vs/nls/lang/cs.js +1 -1
  43. package/dev/vs/nls/lang/de.js +1 -1
  44. package/dev/vs/nls/lang/es.js +1 -1
  45. package/dev/vs/nls/lang/fr.js +1 -1
  46. package/dev/vs/nls/lang/it.js +1 -1
  47. package/dev/vs/nls/lang/ja.js +1 -1
  48. package/dev/vs/nls/lang/ko.js +1 -1
  49. package/dev/vs/nls/lang/pl.js +1 -1
  50. package/dev/vs/nls/lang/pt-br.js +1 -1
  51. package/dev/vs/nls/lang/ru.js +1 -1
  52. package/dev/vs/nls/lang/tr.js +1 -1
  53. package/dev/vs/nls/lang/zh-cn.js +1 -1
  54. package/dev/vs/nls/lang/zh-tw.js +1 -1
  55. package/dev/vs/{python-BCOSaCC8.js → python-DXBMpYPe.js} +1 -1
  56. package/dev/vs/{razor-BM2tZCwj.js → razor-B-6VCfW8.js} +1 -1
  57. package/dev/vs/{toggleHighContrast-CLgtrrIB.js → toggleHighContrast-BZymj9rw.js} +56 -52
  58. package/dev/vs/{ts.worker-CArJhH03.js → ts.worker-DJRdPJkr.js} +2 -2
  59. package/dev/vs/{tsMode-jpkv3SbL.js → tsMode-CtNWvTBe.js} +1 -1
  60. package/dev/vs/{typescript-f8pt88eA.js → typescript-Cwpmy0ly.js} +1 -1
  61. package/dev/vs/{workers-zrUx_2Gw.js → workers-CBOwmYIQ.js} +1 -1
  62. package/dev/vs/{xml-CmSjtiR0.js → xml-xVD5OU5p.js} +1 -1
  63. package/dev/vs/{yaml-PRriLGdw.js → yaml-C750B2U1.js} +1 -1
  64. package/esm/vs/base/browser/markdownRenderer.js +0 -1
  65. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  66. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  67. package/esm/vs/base/common/network.js +0 -2
  68. package/esm/vs/editor/browser/observableCodeEditor.js +41 -0
  69. package/esm/vs/editor/browser/view.js +3 -0
  70. package/esm/vs/editor/browser/viewParts/viewLines/viewLine.js +14 -0
  71. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +7 -0
  72. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +6 -0
  73. package/esm/vs/editor/browser/widget/multiDiffEditor/style.css +2 -41
  74. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +2 -1
  75. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +55 -47
  76. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +2 -8
  77. package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +2 -1
  78. package/esm/vs/nls/lang/cs.js +1 -1
  79. package/esm/vs/nls/lang/de.js +1 -1
  80. package/esm/vs/nls/lang/es.js +1 -1
  81. package/esm/vs/nls/lang/fr.js +1 -1
  82. package/esm/vs/nls/lang/it.js +1 -1
  83. package/esm/vs/nls/lang/ja.js +1 -1
  84. package/esm/vs/nls/lang/ko.js +1 -1
  85. package/esm/vs/nls/lang/pl.js +1 -1
  86. package/esm/vs/nls/lang/pt-br.js +1 -1
  87. package/esm/vs/nls/lang/ru.js +1 -1
  88. package/esm/vs/nls/lang/tr.js +1 -1
  89. package/esm/vs/nls/lang/zh-cn.js +1 -1
  90. package/esm/vs/nls/lang/zh-tw.js +1 -1
  91. package/esm/vs/platform/actionWidget/browser/actionList.js +5 -5
  92. package/min/vs/assets/{css.worker-57ylMqdQ.js → css.worker-6cA326TN.js} +1 -1
  93. package/min/vs/assets/{editor.worker-C7rTzOHm.js → editor.worker-BXo0zwgx.js} +1 -1
  94. package/min/vs/assets/{editorWebWorkerMain-CRWuSSWk.js → editorWebWorkerMain-DN9ZTS2u.js} +1 -1
  95. package/min/vs/assets/{html.worker-DUkJXKh4.js → html.worker-DrzGuedL.js} +29 -29
  96. package/min/vs/assets/{json.worker-DHFIjIvp.js → json.worker-DtThdxL8.js} +1 -1
  97. package/min/vs/assets/{ts.worker-CKcSPjM2.js → ts.worker-Bwrsmc-T.js} +1 -1
  98. package/min/vs/basic-languages/monaco.contribution.js +1 -1
  99. package/min/vs/css.worker-B7_twapR.js +1 -0
  100. package/min/vs/{cssMode-CheCY05R.js → cssMode-C8DQ0scr.js} +1 -1
  101. package/min/vs/editor/editor.main.css +1 -1
  102. package/min/vs/editor/editor.main.js +1 -1
  103. package/min/vs/editor/editor.worker.js +1 -1
  104. package/min/vs/{editor-DxYWA3-X.js → editor-CQTI8xLr.js} +26 -26
  105. package/min/vs/editor.js +1 -1
  106. package/min/vs/{editorWorkerHost-DnKHgOKB.js → editorWorkerHost-C04MZfrm.js} +2 -2
  107. package/min/vs/{freemarker2-C7J7V1Hp.js → freemarker2-Z1NWIlDO.js} +1 -1
  108. package/min/vs/{handlebars-DsCar5Ix.js → handlebars-DKvQC_uf.js} +1 -1
  109. package/min/vs/{html-BGLIaUZV.js → html-DVQA9yw-.js} +1 -1
  110. package/min/vs/html.worker-DveLE0kf.js +1 -0
  111. package/min/vs/{htmlMode-BB6WOoy3.js → htmlMode-Cmfedj_X.js} +1 -1
  112. package/min/vs/{index-BdR0nSqf.js → index-DVMceREF.js} +1 -1
  113. package/min/vs/index.js +1 -1
  114. package/min/vs/{initialize-BZ6ciHHH.js → initialize-BBlIwSzx.js} +1 -1
  115. package/min/vs/{javascript-CXE3i1eX.js → javascript-sVC7H6MA.js} +1 -1
  116. package/min/vs/json.worker-DhvR4PNq.js +1 -0
  117. package/min/vs/{jsonMode-rtaE9alu.js → jsonMode-DYr4lHFG.js} +1 -1
  118. package/min/vs/language/css/css.worker.js +1 -1
  119. package/min/vs/language/css/monaco.contribution.js +1 -1
  120. package/min/vs/language/html/html.worker.js +1 -1
  121. package/min/vs/language/html/monaco.contribution.js +1 -1
  122. package/min/vs/language/json/json.worker.js +1 -1
  123. package/min/vs/language/json/monaco.contribution.js +1 -1
  124. package/min/vs/language/typescript/monaco.contribution.js +1 -1
  125. package/min/vs/language/typescript/ts.worker.js +1 -1
  126. package/min/vs/{liquid-CEdn0ovR.js → liquid-4lYNfvQN.js} +1 -1
  127. package/min/vs/{lspLanguageFeatures-CRAjJmzF.js → lspLanguageFeatures-CjV5jBdn.js} +1 -1
  128. package/min/vs/{mdx-DLDMIqnu.js → mdx-Dq1RoyhS.js} +1 -1
  129. package/min/vs/{monaco.contribution-C67XgReK.js → monaco.contribution-B8R1MBrS.js} +1 -1
  130. package/min/vs/{monaco.contribution-BrRAk-VA.js → monaco.contribution-Bom5piHI.js} +1 -1
  131. package/min/vs/{monaco.contribution-DjiQkKLa.js → monaco.contribution-CfB0n3ms.js} +1 -1
  132. package/min/vs/{monaco.contribution-CYT-Sx3l.js → monaco.contribution-Ch9HvFzW.js} +1 -1
  133. package/min/vs/nls/lang/cs.js +1 -1
  134. package/min/vs/nls/lang/de.js +1 -1
  135. package/min/vs/nls/lang/es.js +1 -1
  136. package/min/vs/nls/lang/fr.js +1 -1
  137. package/min/vs/nls/lang/it.js +1 -1
  138. package/min/vs/nls/lang/ja.js +1 -1
  139. package/min/vs/nls/lang/ko.js +1 -1
  140. package/min/vs/nls/lang/pl.js +1 -1
  141. package/min/vs/nls/lang/pt-br.js +1 -1
  142. package/min/vs/nls/lang/ru.js +1 -1
  143. package/min/vs/nls/lang/tr.js +1 -1
  144. package/min/vs/nls/lang/zh-cn.js +1 -1
  145. package/min/vs/nls/lang/zh-tw.js +1 -1
  146. package/min/vs/{python-CKbl_I3e.js → python-Dy1z8CNx.js} +1 -1
  147. package/min/vs/{razor--RjiPxbd.js → razor-CsE9CP7J.js} +1 -1
  148. package/min/vs/{toggleHighContrast-BKDMxisH.js → toggleHighContrast-C1llj-Qj.js} +31 -31
  149. package/min/vs/ts.worker-Dk3LlSfC.js +1 -0
  150. package/min/vs/{tsMode-C48d5M22.js → tsMode-CvlTiLGv.js} +1 -1
  151. package/min/vs/{typescript-e7oUhPyX.js → typescript-DJMThi2v.js} +1 -1
  152. package/min/vs/{workers-CtpYUoCo.js → workers-D8AKv35b.js} +1 -1
  153. package/min/vs/{xml-tOyfgws7.js → xml-_aWL2uyn.js} +1 -1
  154. package/min/vs/{yaml-Cmf9NYDf.js → yaml-Blkkbv6z.js} +1 -1
  155. package/package.json +3 -3
  156. package/min/vs/css.worker-CkPP9VjP.js +0 -1
  157. package/min/vs/html.worker-uHOusrcK.js +0 -1
  158. package/min/vs/json.worker-DGsNKzKv.js +0 -1
  159. package/min/vs/ts.worker-DyDnfuDL.js +0 -1
@@ -1,4 +1,4 @@
1
- define("vs/toggleHighContrast-CLgtrrIB", ["./editorWorkerHost--0eDLpc-", "./editor-CR18QzPP"], (function(editorWorkerHost, editor) {
1
+ define("vs/toggleHighContrast-BZymj9rw", ["./editorWorkerHost-sGvqyT60", "./editor-B9pgTCSU"], (function(editorWorkerHost, editor) {
2
2
  "use strict";
3
3
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa, _ba, _ca, _da, _ea, _fa, _ga, _ha, _ia, _ja, _ka, _la, _ma, _na, _oa, _pa, _qa, _ra, _sa, _ta, _ua, _va;
4
4
  class ToggleCollapseUnchangedRegions extends editor.Action2 {
@@ -2609,12 +2609,12 @@ define("vs/toggleHighContrast-CLgtrrIB", ["./editorWorkerHost--0eDLpc-", "./edit
2609
2609
  const actionTitle = this._keybindingService.lookupKeybinding(acceptSelectedActionCommand)?.getLabel();
2610
2610
  const previewTitle = this._keybindingService.lookupKeybinding(previewSelectedActionCommand)?.getLabel();
2611
2611
  data.container.classList.toggle("option-disabled", element.disabled);
2612
- if (element.tooltip) {
2612
+ if (element.hover !== void 0) {
2613
+ data.container.title = "";
2614
+ } else if (element.tooltip) {
2613
2615
  data.container.title = element.tooltip;
2614
2616
  } else if (element.disabled) {
2615
2617
  data.container.title = element.label;
2616
- } else if (element.hover?.content) {
2617
- data.container.title = "";
2618
2618
  } else if (actionTitle && previewTitle) {
2619
2619
  if (this._supportsPreview && element.canPreview) {
2620
2620
  data.container.title = editorWorkerHost.localize(1668, "{0} to Apply, {1} to Preview", actionTitle, previewTitle);
@@ -39701,16 +39701,13 @@ define("vs/toggleHighContrast-CLgtrrIB", ["./editorWorkerHost--0eDLpc-", "./edit
39701
39701
  }
39702
39702
  const INLINE_EDITS_BORDER_RADIUS = 3;
39703
39703
  function maxContentWidthInRange(editor2, range, reader) {
39704
- editor2.layoutInfo.read(reader);
39705
- editor2.value.read(reader);
39706
39704
  const model = editor2.model.read(reader);
39707
39705
  if (!model) {
39708
39706
  return 0;
39709
39707
  }
39710
39708
  let maxContentWidth = 0;
39711
- editor2.scrollTop.read(reader);
39712
39709
  for (let i2 = range.startLineNumber; i2 < range.endLineNumberExclusive; i2++) {
39713
- const lineContentWidth = editor2.editor.getWidthOfLine(i2);
39710
+ const lineContentWidth = editor2.getWidthOfLine(i2, reader);
39714
39711
  maxContentWidth = Math.max(maxContentWidth, lineContentWidth);
39715
39712
  }
39716
39713
  const lines = range.mapToLineArray((l) => model.getLineContent(l));
@@ -39720,17 +39717,14 @@ define("vs/toggleHighContrast-CLgtrrIB", ["./editorWorkerHost--0eDLpc-", "./edit
39720
39717
  return maxContentWidth;
39721
39718
  }
39722
39719
  function getContentSizeOfLines(editor$1, range, reader) {
39723
- editor$1.layoutInfo.read(reader);
39724
- editor$1.value.read(reader);
39725
39720
  editor.observableSignalFromEvent(editor$1, editor$1.editor.onDidChangeLineHeight).read(reader);
39726
39721
  const model = editor$1.model.read(reader);
39727
39722
  if (!model) {
39728
39723
  throw new editorWorkerHost.BugIndicatingError("Model is required");
39729
39724
  }
39730
39725
  const sizes = [];
39731
- editor$1.scrollTop.read(reader);
39732
39726
  for (let i2 = range.startLineNumber; i2 < range.endLineNumberExclusive; i2++) {
39733
- let lineContentWidth = editor$1.editor.getWidthOfLine(i2);
39727
+ let lineContentWidth = editor$1.getWidthOfLine(i2, reader);
39734
39728
  if (lineContentWidth === -1) {
39735
39729
  const column = model.getLineMaxColumn(i2);
39736
39730
  const typicalHalfwidthCharacterWidth = editor$1.editor.getOption(
@@ -54551,39 +54545,58 @@ ${json}
54551
54545
  constructor(editor$1, instantiationService, keybindingService, menuService) {
54552
54546
  super();
54553
54547
  const editorObs = this._register(editor.observableCodeEditor(editor$1));
54554
- const menu = this._register(menuService.createMenu(editor.MenuId.EditorContent, editor$1.contextKeyService));
54555
- const menuActionsObs = editor.observableFromEvent(this, menu.onDidChange, () => menu.getActions());
54556
- const menuPrimaryActionIdObs = editor.derived((reader) => {
54557
- const menuActions = menuActionsObs.read(reader);
54558
- if (menuActions.length === 0) {
54559
- return void 0;
54560
- }
54561
- const navigationGroup = menuActions.find((group) => group[0] === "navigation");
54562
- if (navigationGroup && navigationGroup[1].length > 0) {
54563
- return navigationGroup[1][0].id;
54564
- }
54565
- for (const [, actions] of menuActions) {
54566
- if (actions.length > 0) {
54567
- return actions[0].id;
54568
- }
54548
+ const editorUriObs = editor.derived((reader) => editorObs.model.read(reader)?.uri);
54549
+ const widget = this._register(instantiationService.createInstance(FloatingEditorToolbarWidget, editor.MenuId.EditorContent, editor$1.contextKeyService, editorUriObs));
54550
+ this._register(editor.autorun((reader) => {
54551
+ const hasActions = widget.hasActions.read(reader);
54552
+ if (!hasActions) {
54553
+ return;
54569
54554
  }
54570
- return void 0;
54571
- });
54555
+ reader.store.add(editorObs.createOverlayWidget({
54556
+ allowEditorOverflow: false,
54557
+ domNode: widget.element,
54558
+ minContentWidthInPx: editor.constObservable(0),
54559
+ position: editor.constObservable({
54560
+ preference: 1
54561
+ /* OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER */
54562
+ })
54563
+ }));
54564
+ }));
54565
+ }
54566
+ }, _pa.ID = "editor.contrib.floatingToolbar", _pa);
54567
+ FloatingEditorToolbar = __decorate$8([
54568
+ __param$8(1, editor.IInstantiationService),
54569
+ __param$8(2, editor.IKeybindingService),
54570
+ __param$8(3, editor.IMenuService)
54571
+ ], FloatingEditorToolbar);
54572
+ let FloatingEditorToolbarWidget = class FloatingEditorToolbarWidget extends editorWorkerHost.Disposable {
54573
+ constructor(_menuId, _scopedContextKeyService, _toolbarContext, instantiationService, keybindingService, menuService) {
54574
+ super();
54575
+ const menu = this._register(menuService.createMenu(_menuId, _scopedContextKeyService));
54576
+ const menuGroupsObs = editor.observableFromEvent(this, menu.onDidChange, () => menu.getActions());
54577
+ const menuPrimaryActionIdObs = editor.derived((reader) => {
54578
+ const menuGroups = menuGroupsObs.read(reader);
54579
+ const { primary } = editor.getActionBarActions(menuGroups, () => true);
54580
+ return primary.length > 0 ? primary[0].id : void 0;
54581
+ });
54582
+ this.hasActions = editor.derived((reader) => menuGroupsObs.read(reader).length > 0);
54583
+ this.element = editor.h("div.floating-menu-overlay-widget").root;
54584
+ this._register(editorWorkerHost.toDisposable(() => this.element.remove()));
54585
+ this.element.style.height = "26px";
54572
54586
  this._register(editor.autorun((reader) => {
54587
+ const hasActions = this.hasActions.read(reader);
54573
54588
  const menuPrimaryActionId = menuPrimaryActionIdObs.read(reader);
54574
- if (!menuPrimaryActionId) {
54589
+ if (!hasActions) {
54575
54590
  return;
54576
54591
  }
54577
- const container = editor.h("div.floating-menu-overlay-widget");
54578
- container.root.style.height = "26px";
54579
- const toolbar = instantiationService.createInstance(editor.MenuWorkbenchToolBar, container.root, editor.MenuId.EditorContent, {
54592
+ const toolbar = instantiationService.createInstance(editor.MenuWorkbenchToolBar, this.element, _menuId, {
54580
54593
  actionViewItemProvider: (action, options) => {
54581
54594
  if (!(action instanceof editor.MenuItemAction)) {
54582
54595
  return void 0;
54583
54596
  }
54584
54597
  return instantiationService.createInstance(class extends editor.MenuEntryActionViewItem {
54585
- render(container2) {
54586
- super.render(container2);
54598
+ render(container) {
54599
+ super.render(container);
54587
54600
  if (action.id === menuPrimaryActionId) {
54588
54601
  this.element?.classList.add("primary");
54589
54602
  }
@@ -54609,26 +54622,17 @@ ${json}
54609
54622
  });
54610
54623
  reader.store.add(toolbar);
54611
54624
  reader.store.add(editor.autorun((reader2) => {
54612
- const model = editorObs.model.read(reader2);
54613
- toolbar.context = model?.uri;
54614
- }));
54615
- reader.store.add(editorObs.createOverlayWidget({
54616
- allowEditorOverflow: false,
54617
- domNode: container.root,
54618
- minContentWidthInPx: editor.constObservable(0),
54619
- position: editor.constObservable({
54620
- preference: 1
54621
- /* OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER */
54622
- })
54625
+ const context = _toolbarContext.read(reader2);
54626
+ toolbar.context = context;
54623
54627
  }));
54624
54628
  }));
54625
54629
  }
54626
- }, _pa.ID = "editor.contrib.floatingToolbar", _pa);
54627
- FloatingEditorToolbar = __decorate$8([
54628
- __param$8(1, editor.IInstantiationService),
54629
- __param$8(2, editor.IKeybindingService),
54630
- __param$8(3, editor.IMenuService)
54631
- ], FloatingEditorToolbar);
54630
+ };
54631
+ FloatingEditorToolbarWidget = __decorate$8([
54632
+ __param$8(3, editor.IInstantiationService),
54633
+ __param$8(4, editor.IKeybindingService),
54634
+ __param$8(5, editor.IMenuService)
54635
+ ], FloatingEditorToolbarWidget);
54632
54636
  editor.registerEditorContribution(
54633
54637
  FloatingEditorToolbar.ID,
54634
54638
  FloatingEditorToolbar,
@@ -1,5 +1,5 @@
1
- define("vs/ts.worker-CArJhH03", ["require", "exports"], (function(require, exports) {
1
+ define("vs/ts.worker-DJRdPJkr", ["require", "exports"], (function(require, exports) {
2
2
  "use strict";
3
- const __worker_url_0__ = "" + new URL(require.toUrl("./assets/ts.worker-Cw4JXdL0.js"), document.baseURI).href;
3
+ const __worker_url_0__ = "" + new URL(require.toUrl("./assets/ts.worker-Du12m7rw.js"), document.baseURI).href;
4
4
  exports.__worker_url_0__ = __worker_url_0__;
5
5
  }));
@@ -1,4 +1,4 @@
1
- define("vs/tsMode-jpkv3SbL", ["exports", "./ts.worker-CArJhH03", "./editor-CR18QzPP", "./workers-zrUx_2Gw", "./monaco.contribution-CVBrIlxn"], (function(exports, ts_worker, editor, workers, src_deprecated_language_typescript_monaco_contribution_ts) {
1
+ define("vs/tsMode-CtNWvTBe", ["exports", "./ts.worker-DJRdPJkr", "./editor-B9pgTCSU", "./workers-CBOwmYIQ", "./monaco.contribution-mda4i34p"], (function(exports, ts_worker, editor, workers, src_deprecated_language_typescript_monaco_contribution_ts) {
2
2
  "use strict";
3
3
  class WorkerManager {
4
4
  constructor(_modeId, _defaults) {
@@ -1,4 +1,4 @@
1
- define("vs/typescript-f8pt88eA", ["exports", "./editor-CR18QzPP"], (function(exports, editor) {
1
+ define("vs/typescript-Cwpmy0ly", ["exports", "./editor-B9pgTCSU"], (function(exports, editor) {
2
2
  "use strict";
3
3
  const conf = {
4
4
  wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
@@ -1,4 +1,4 @@
1
- define("vs/workers-zrUx_2Gw", ["exports", "./editor-CR18QzPP", "./toggleHighContrast-CLgtrrIB"], (function(exports, editor, toggleHighContrast) {
1
+ define("vs/workers-CBOwmYIQ", ["exports", "./editor-B9pgTCSU", "./toggleHighContrast-BZymj9rw"], (function(exports, editor, toggleHighContrast) {
2
2
  "use strict";
3
3
  function createTrustedTypesPolicy(policyName, policyOptions) {
4
4
  const monacoEnvironment = globalThis.MonacoEnvironment;
@@ -1,4 +1,4 @@
1
- define("vs/xml-CmSjtiR0", ["exports", "./editor-CR18QzPP"], (function(exports, editor) {
1
+ define("vs/xml-xVD5OU5p", ["exports", "./editor-B9pgTCSU"], (function(exports, editor) {
2
2
  "use strict";
3
3
  const conf = {
4
4
  comments: {
@@ -1,4 +1,4 @@
1
- define("vs/yaml-PRriLGdw", ["exports", "./editor-CR18QzPP"], (function(exports, editor) {
1
+ define("vs/yaml-C750B2U1", ["exports", "./editor-B9pgTCSU"], (function(exports, editor) {
2
2
  "use strict";
3
3
  const conf = {
4
4
  comments: {
@@ -498,7 +498,6 @@ function getDomSanitizerConfig(mdStrConfig, options) {
498
498
  Schemas.vscodeRemote,
499
499
  Schemas.vscodeRemoteResource,
500
500
  Schemas.vscodeNotebookCell,
501
- Schemas.vscodeChatPrompt,
502
501
  // For links that are handled entirely by the action handler
503
502
  Schemas.internal,
504
503
  ];
@@ -649,6 +649,8 @@ const codiconsLibrary = {
649
649
  removeSmall: register('remove-small', 0xec7c),
650
650
  worktreeSmall: register('worktree-small', 0xec7d),
651
651
  worktree: register('worktree', 0xec7e),
652
+ screenCut: register('screen-cut', 0xec7f),
653
+ ask: register('ask', 0xec80),
652
654
  };
653
655
 
654
656
  export { codiconsLibrary };
@@ -63,8 +63,6 @@ var Schemas;
63
63
  Schemas.vscodeChatInput = 'chatSessionInput';
64
64
  /** Scheme used for local chat session content */
65
65
  Schemas.vscodeLocalChatSession = 'vscode-chat-session';
66
- /** Scheme used for virtual chat prompt files with embedded content */
67
- Schemas.vscodeChatPrompt = 'vscode-chat-prompt';
68
66
  /**
69
67
  * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)
70
68
  */
@@ -66,6 +66,31 @@ class ObservableCodeEditor extends Disposable {
66
66
  constructor(editor) {
67
67
  super();
68
68
  this.editor = editor;
69
+ /**
70
+ * Tracks whether getWidthOfLine returned 0, indicating the editor may be hidden.
71
+ * When resize happens and this flag is set, we reset cached line widths.
72
+ */
73
+ this._sawZeroLineWidth = false;
74
+ /**
75
+ * Fires when the editor container resizes.
76
+ * This is lazily created only when someone subscribes to it.
77
+ * Useful for detecting when a parent element's display changes from 'none' to 'block'.
78
+ */
79
+ this._onDidContainerResize = observableFromEventOpts({ owner: this, getTransaction: () => this._currentTransaction }, e => {
80
+ const container = this.editor.getContainerDomNode();
81
+ const resizeObserver = new ResizeObserver(() => {
82
+ // If we previously saw a 0 width, the editor was likely hidden.
83
+ // Now that it resized (became visible), flush the cached widths.
84
+ if (this._sawZeroLineWidth) {
85
+ this._sawZeroLineWidth = false;
86
+ this.editor.resetLineWidthCaches();
87
+ }
88
+ e(undefined);
89
+ });
90
+ resizeObserver.observe(container);
91
+ return { dispose: () => resizeObserver.disconnect() };
92
+ }, () => ({}) // Return new object each time to ensure change detection
93
+ );
69
94
  this._updateCounter = 0;
70
95
  this._currentTransaction = undefined;
71
96
  this._model = observableValue(this, this.editor.getModel());
@@ -404,6 +429,22 @@ class ObservableCodeEditor extends Disposable {
404
429
  return heights;
405
430
  });
406
431
  }
432
+ /**
433
+ * Get the width of a line in pixels.
434
+ * Reading the returned value depends on layoutInfo, value, scrollTop, and container resize events.
435
+ * The container resize dependency ensures correct values when the editor becomes visible after being hidden.
436
+ */
437
+ getWidthOfLine(lineNumber, reader) {
438
+ this.layoutInfo.read(reader);
439
+ this.value.read(reader);
440
+ this.scrollTop.read(reader);
441
+ const width = this.editor.getWidthOfLine(lineNumber);
442
+ this._onDidContainerResize.read(reader);
443
+ if (width === 0) {
444
+ this._sawZeroLineWidth = true;
445
+ }
446
+ return width;
447
+ }
407
448
  /**
408
449
  * Get the vertical position (top offset) for the line's bottom w.r.t. to the first line.
409
450
  */
@@ -534,6 +534,9 @@ let View = class View extends ViewEventHandler {
534
534
  const width = this._viewLines.getLineWidth(viewLine);
535
535
  return width;
536
536
  }
537
+ resetLineWidthCaches() {
538
+ this._viewLines.resetLineWidthCaches();
539
+ }
537
540
  getTargetAtClientPoint(clientX, clientY) {
538
541
  const mouseTarget = this._pointerHandler.getTargetAtClientPoint(clientX, clientY);
539
542
  if (!mouseTarget) {
@@ -237,6 +237,9 @@ class ViewLine {
237
237
  }
238
238
  return this._renderedViewLine.getColumnOfNodeOffset(spanNode, offset);
239
239
  }
240
+ resetCachedWidth() {
241
+ this._renderedViewLine?.resetCachedWidth();
242
+ }
240
243
  }
241
244
  /**
242
245
  * A rendered line which is guaranteed to contain only regular ASCII and is rendered with a monospace font.
@@ -273,6 +276,9 @@ class FastRenderedViewLine {
273
276
  getWidthIsFast() {
274
277
  return (this.input.lineContent.length < 300 /* Constants.MaxMonospaceDistance */) || this._cachedWidth !== -1;
275
278
  }
279
+ resetCachedWidth() {
280
+ this._cachedWidth = -1;
281
+ }
276
282
  monospaceAssumptionsAreValid() {
277
283
  if (!this.domNode) {
278
284
  return monospaceAssumptionsAreValid;
@@ -380,6 +386,14 @@ class RenderedViewLine {
380
386
  }
381
387
  return true;
382
388
  }
389
+ resetCachedWidth() {
390
+ this._cachedWidth = -1;
391
+ if (this._pixelOffsetCache !== null) {
392
+ for (let column = 0, len = this._pixelOffsetCache.length; column < len; column++) {
393
+ this._pixelOffsetCache[column] = -1;
394
+ }
395
+ }
396
+ }
383
397
  /**
384
398
  * Visible ranges for a model range
385
399
  */
@@ -316,6 +316,13 @@ class ViewLines extends ViewPart {
316
316
  this._updateLineWidthsSlowIfDomDidLayout(context);
317
317
  return result;
318
318
  }
319
+ resetLineWidthCaches() {
320
+ const rendStartLineNumber = this._visibleLines.getStartLineNumber();
321
+ const rendEndLineNumber = this._visibleLines.getEndLineNumber();
322
+ for (let lineNumber = rendStartLineNumber; lineNumber <= rendEndLineNumber; lineNumber++) {
323
+ this._visibleLines.getVisibleLine(lineNumber).resetCachedWidth();
324
+ }
325
+ }
319
326
  linesVisibleRangesForRange(_range, includeNewLines) {
320
327
  const originalEndLineNumber = _range.endLineNumber;
321
328
  const range = Range.intersectRanges(_range, this._lastRenderedData.getCurrentVisibleRange());
@@ -1238,6 +1238,12 @@ let CodeEditorWidget = class CodeEditorWidget extends Disposable {
1238
1238
  }
1239
1239
  return this._modelData.view.getLineWidth(lineNumber);
1240
1240
  }
1241
+ resetLineWidthCaches() {
1242
+ if (!this._modelData || !this._modelData.hasRealView) {
1243
+ return;
1244
+ }
1245
+ this._modelData.view.resetLineWidthCaches();
1246
+ }
1241
1247
  render(forceRedraw = false) {
1242
1248
  if (!this._modelData || !this._modelData.hasRealView) {
1243
1249
  return;
@@ -36,52 +36,13 @@
36
36
 
37
37
  > .multi-diff-root-floating-menu {
38
38
  position: absolute;
39
- right: 32px;
40
- bottom: 32px;
41
39
  top: auto;
40
+ right: 28px;
41
+ bottom: 24px;
42
42
  left: auto;
43
- height: auto;
44
43
  width: auto;
45
- padding: 4px 6px;
46
- color: var(--vscode-button-foreground);
47
- background-color: var(--vscode-button-background);
48
- border-radius: 4px;
49
- border: 1px solid var(--vscode-contrastBorder);
50
- display: flex;
51
- align-items: center;
52
- z-index: 10;
53
- box-shadow: 0 3px 12px var(--vscode-widget-shadow);
54
- overflow: hidden;
55
- }
56
-
57
- .multi-diff-root-floating-menu .action-item > .action-label {
58
- padding: 7px 8px;
59
- font-size: 15px;
60
- border-radius: 2px;
61
- }
62
-
63
- .multi-diff-root-floating-menu .action-item > .action-label.codicon {
64
- color: var(--vscode-button-foreground);
65
- }
66
-
67
- .multi-diff-root-floating-menu .action-item > .action-label.codicon:not(.separator) {
68
- padding-top: 6px;
69
- padding-bottom: 6px;
70
44
  }
71
45
 
72
- .multi-diff-root-floating-menu .action-item:first-child > .action-label {
73
- padding-left: 7px;
74
- }
75
-
76
- .multi-diff-root-floating-menu .action-item:last-child > .action-label {
77
- padding-right: 7px;
78
- }
79
-
80
- .multi-diff-root-floating-menu .action-item .action-label.separator {
81
- background-color: var(--vscode-button-separator);
82
- }
83
-
84
-
85
46
  .active {
86
47
  --vscode-multiDiffEditor-border: var(--vscode-focusBorder);
87
48
  }
@@ -40,7 +40,8 @@
40
40
  justify-content: center;
41
41
  }
42
42
 
43
- .action-item.primary > .action-label {
43
+ .action-item.primary > .action-label,
44
+ .action-item.primary > .action-label.action-label.codicon:not(.separator) {
44
45
  background-color: var(--vscode-button-background);
45
46
  color: var(--vscode-button-foreground);
46
47
  }
@@ -1,16 +1,16 @@
1
1
  import { h } from '../../../../base/browser/dom.js';
2
- import { Disposable } from '../../../../base/common/lifecycle.js';
2
+ import { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';
3
+ import { getActionBarActions, MenuEntryActionViewItem } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
3
4
  import '../../../../base/common/observableInternal/index.js';
4
- import { MenuEntryActionViewItem } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
5
5
  import { MenuWorkbenchToolBar } from '../../../../platform/actions/browser/toolbar.js';
6
- import { MenuId, MenuItemAction, IMenuService } from '../../../../platform/actions/common/actions.js';
6
+ import { MenuId, IMenuService, MenuItemAction } from '../../../../platform/actions/common/actions.js';
7
7
  import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
8
8
  import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
9
9
  import { observableCodeEditor } from '../../../browser/observableCodeEditor.js';
10
- import { observableFromEvent } from '../../../../base/common/observableInternal/observables/observableFromEvent.js';
11
10
  import { derived } from '../../../../base/common/observableInternal/observables/derived.js';
12
11
  import { autorun } from '../../../../base/common/observableInternal/reactions/autorun.js';
13
12
  import { constObservable } from '../../../../base/common/observableInternal/observables/constObservable.js';
13
+ import { observableFromEvent } from '../../../../base/common/observableInternal/observables/observableFromEvent.js';
14
14
 
15
15
  /*---------------------------------------------------------------------------------------------
16
16
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -30,39 +30,56 @@ let FloatingEditorToolbar = class FloatingEditorToolbar extends Disposable {
30
30
  constructor(editor, instantiationService, keybindingService, menuService) {
31
31
  super();
32
32
  const editorObs = this._register(observableCodeEditor(editor));
33
- const menu = this._register(menuService.createMenu(MenuId.EditorContent, editor.contextKeyService));
34
- const menuActionsObs = observableFromEvent(this, menu.onDidChange, () => menu.getActions());
35
- const menuPrimaryActionIdObs = derived(reader => {
36
- const menuActions = menuActionsObs.read(reader);
37
- if (menuActions.length === 0) {
38
- return undefined;
39
- }
40
- // Navigation group
41
- const navigationGroup = menuActions
42
- .find((group) => group[0] === 'navigation');
43
- // First action in navigation group
44
- if (navigationGroup && navigationGroup[1].length > 0) {
45
- return navigationGroup[1][0].id;
46
- }
47
- // Fallback to first group/action
48
- for (const [, actions] of menuActions) {
49
- if (actions.length > 0) {
50
- return actions[0].id;
51
- }
33
+ const editorUriObs = derived(reader => editorObs.model.read(reader)?.uri);
34
+ // Widget
35
+ const widget = this._register(instantiationService.createInstance(FloatingEditorToolbarWidget, MenuId.EditorContent, editor.contextKeyService, editorUriObs));
36
+ // Render widget
37
+ this._register(autorun(reader => {
38
+ const hasActions = widget.hasActions.read(reader);
39
+ if (!hasActions) {
40
+ return;
52
41
  }
53
- return undefined;
42
+ // Overlay widget
43
+ reader.store.add(editorObs.createOverlayWidget({
44
+ allowEditorOverflow: false,
45
+ domNode: widget.element,
46
+ minContentWidthInPx: constObservable(0),
47
+ position: constObservable({
48
+ preference: 1 /* OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER */
49
+ })
50
+ }));
51
+ }));
52
+ }
53
+ };
54
+ FloatingEditorToolbar = __decorate([
55
+ __param(1, IInstantiationService),
56
+ __param(2, IKeybindingService),
57
+ __param(3, IMenuService)
58
+ ], FloatingEditorToolbar);
59
+ let FloatingEditorToolbarWidget = class FloatingEditorToolbarWidget extends Disposable {
60
+ constructor(_menuId, _scopedContextKeyService, _toolbarContext, instantiationService, keybindingService, menuService) {
61
+ super();
62
+ const menu = this._register(menuService.createMenu(_menuId, _scopedContextKeyService));
63
+ const menuGroupsObs = observableFromEvent(this, menu.onDidChange, () => menu.getActions());
64
+ const menuPrimaryActionIdObs = derived(reader => {
65
+ const menuGroups = menuGroupsObs.read(reader);
66
+ const { primary } = getActionBarActions(menuGroups, () => true);
67
+ return primary.length > 0 ? primary[0].id : undefined;
54
68
  });
69
+ this.hasActions = derived(reader => menuGroupsObs.read(reader).length > 0);
70
+ this.element = h('div.floating-menu-overlay-widget').root;
71
+ this._register(toDisposable(() => this.element.remove()));
72
+ // Set height explicitly to ensure that the floating menu element
73
+ // is rendered in the lower right corner at the correct position.
74
+ this.element.style.height = '26px';
55
75
  this._register(autorun(reader => {
76
+ const hasActions = this.hasActions.read(reader);
56
77
  const menuPrimaryActionId = menuPrimaryActionIdObs.read(reader);
57
- if (!menuPrimaryActionId) {
78
+ if (!hasActions) {
58
79
  return;
59
80
  }
60
- const container = h('div.floating-menu-overlay-widget');
61
- // Set height explicitly to ensure that the floating menu element
62
- // is rendered in the lower right corner at the correct position.
63
- container.root.style.height = '26px';
64
81
  // Toolbar
65
- const toolbar = instantiationService.createInstance(MenuWorkbenchToolBar, container.root, MenuId.EditorContent, {
82
+ const toolbar = instantiationService.createInstance(MenuWorkbenchToolBar, this.element, _menuId, {
66
83
  actionViewItemProvider: (action, options) => {
67
84
  if (!(action instanceof MenuItemAction)) {
68
85
  return undefined;
@@ -98,25 +115,16 @@ let FloatingEditorToolbar = class FloatingEditorToolbar extends Disposable {
98
115
  });
99
116
  reader.store.add(toolbar);
100
117
  reader.store.add(autorun(reader => {
101
- const model = editorObs.model.read(reader);
102
- toolbar.context = model?.uri;
103
- }));
104
- // Overlay widget
105
- reader.store.add(editorObs.createOverlayWidget({
106
- allowEditorOverflow: false,
107
- domNode: container.root,
108
- minContentWidthInPx: constObservable(0),
109
- position: constObservable({
110
- preference: 1 /* OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER */
111
- })
118
+ const context = _toolbarContext.read(reader);
119
+ toolbar.context = context;
112
120
  }));
113
121
  }));
114
122
  }
115
123
  };
116
- FloatingEditorToolbar = __decorate([
117
- __param(1, IInstantiationService),
118
- __param(2, IKeybindingService),
119
- __param(3, IMenuService)
120
- ], FloatingEditorToolbar);
124
+ FloatingEditorToolbarWidget = __decorate([
125
+ __param(3, IInstantiationService),
126
+ __param(4, IKeybindingService),
127
+ __param(5, IMenuService)
128
+ ], FloatingEditorToolbarWidget);
121
129
 
122
- export { FloatingEditorToolbar };
130
+ export { FloatingEditorToolbar, FloatingEditorToolbarWidget };
@@ -22,16 +22,13 @@ import { observableValue } from '../../../../../../../base/common/observableInte
22
22
  * Warning: might return 0.
23
23
  */
24
24
  function maxContentWidthInRange(editor, range, reader) {
25
- editor.layoutInfo.read(reader);
26
- editor.value.read(reader);
27
25
  const model = editor.model.read(reader);
28
26
  if (!model) {
29
27
  return 0;
30
28
  }
31
29
  let maxContentWidth = 0;
32
- editor.scrollTop.read(reader);
33
30
  for (let i = range.startLineNumber; i < range.endLineNumberExclusive; i++) {
34
- const lineContentWidth = editor.editor.getWidthOfLine(i);
31
+ const lineContentWidth = editor.getWidthOfLine(i, reader);
35
32
  maxContentWidth = Math.max(maxContentWidth, lineContentWidth);
36
33
  }
37
34
  const lines = range.mapToLineArray(l => model.getLineContent(l));
@@ -41,17 +38,14 @@ function maxContentWidthInRange(editor, range, reader) {
41
38
  return maxContentWidth;
42
39
  }
43
40
  function getContentSizeOfLines(editor, range, reader) {
44
- editor.layoutInfo.read(reader);
45
- editor.value.read(reader);
46
41
  observableSignalFromEvent(editor, editor.editor.onDidChangeLineHeight).read(reader);
47
42
  const model = editor.model.read(reader);
48
43
  if (!model) {
49
44
  throw new BugIndicatingError('Model is required');
50
45
  }
51
46
  const sizes = [];
52
- editor.scrollTop.read(reader);
53
47
  for (let i = range.startLineNumber; i < range.endLineNumberExclusive; i++) {
54
- let lineContentWidth = editor.editor.getWidthOfLine(i);
48
+ let lineContentWidth = editor.getWidthOfLine(i, reader);
55
49
  if (lineContentWidth === -1) {
56
50
  // approximation
57
51
  const column = model.getLineMaxColumn(i);
@@ -19,8 +19,9 @@ class StandaloneWebWorkerService extends WebWorkerService {
19
19
  return super._createWorker(descriptor);
20
20
  }
21
21
  _getWorkerLoadingFailedErrorMessage(descriptor) {
22
+ const examplePath = '\'...?esm\''; // Broken up to avoid detection by bundler plugin
22
23
  return `Failed to load worker script for label: ${descriptor.label}.
23
- Ensure your bundler properly bundles modules referenced by "new URL("...?esm", import.meta.url)".`;
24
+ Ensure your bundler properly bundles modules referenced by "new URL(${examplePath}, import.meta.url)".`;
24
25
  }
25
26
  getWorkerUrl(descriptor) {
26
27
  const monacoEnvironment = getMonacoEnvironment();
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260121(fe9dd23f49a64c1b2811d9eeec98f38876f93511)
3
+ * Version: 0.56.0-dev-20260122(fe9dd23f49a64c1b2811d9eeec98f38876f93511)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/