monaco-editor-core 0.58.0-dev-20261108 → 0.58.0-dev-20261109

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.
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.58.0-dev-20261108(5359a3330383137dfdf8897ba1d93d943fec4027)
3
+ * Version: 0.58.0-dev-20261109(5359a3330383137dfdf8897ba1d93d943fec4027)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -8,7 +8,8 @@
8
8
  opacity: 0;
9
9
  transition: opacity 100ms linear;
10
10
  }
11
- .monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
11
+ .monaco-editor .minimap.slider-mouseover:hover .minimap-slider,
12
+ .monaco-editor .minimap.slider-mouseover.slider-scrolling .minimap-slider {
12
13
  opacity: 1;
13
14
  }
14
15
  .monaco-editor .minimap.slider-mouseover .minimap-slider.active {
@@ -49,7 +50,7 @@
49
50
  opacity: 0;
50
51
  transition: opacity 0.5s;
51
52
  }
52
- .minimap.minimap-autohide-scroll{
53
+ .minimap.minimap-autohide-scroll {
53
54
  pointer-events: none;
54
55
  }
55
56
  .minimap.minimap-autohide-mouseover:hover,
@@ -65,7 +66,3 @@
65
66
  */
66
67
  z-index: 4;
67
68
  }
68
-
69
- .monaco-editor .minimap canvas {
70
- opacity: 0.9;
71
- }
@@ -123,7 +123,7 @@ class MinimapOptions {
123
123
  && this.foregroundAlpha === other.foregroundAlpha);
124
124
  }
125
125
  }
126
- class MinimapLayout {
126
+ export class MinimapLayout {
127
127
  constructor(
128
128
  /**
129
129
  * The given editor scrollTop (input).
@@ -190,7 +190,7 @@ class MinimapLayout {
190
190
  getYForLineNumber(lineNumber, minimapLineHeight) {
191
191
  return +(lineNumber - this.startLineNumber + this.topPaddingLineCount) * minimapLineHeight;
192
192
  }
193
- static create(options, viewportStartLineNumber, viewportEndLineNumber, viewportStartLineNumberVerticalOffset, viewportHeight, viewportContainsWhitespaceGaps, lineCount, realLineCount, scrollTop, scrollHeight, previousLayout) {
193
+ static create(options, viewportStartLineNumber, viewportEndLineNumber, viewportStartLineNumberVerticalOffset, viewportStartLineNumberLineHeight, viewportHeight, viewportContainsWhitespaceGaps, lineCount, realLineCount, scrollTop, scrollHeight, previousLayout) {
194
194
  const pixelRatio = options.pixelRatio;
195
195
  const minimapLineHeight = options.minimapLineHeight;
196
196
  const minimapLinesFitting = Math.floor(options.canvasInnerHeight / minimapLineHeight);
@@ -293,7 +293,12 @@ class MinimapLayout {
293
293
  }
294
294
  }
295
295
  const endLineNumber = Math.min(lineCount, startLineNumber - topPaddingLineCount + minimapLinesFitting - 1);
296
- const partialLine = (scrollTop - viewportStartLineNumberVerticalOffset) / lineHeight;
296
+ // When the viewport starts inside a view zone, the top padding or a taller line, the first
297
+ // visible line does not start at `scrollTop`; clamp so the slider never moves backwards.
298
+ // A custom line height can round to 0px, and such a line has no partial progress
299
+ const partialLine = viewportStartLineNumberLineHeight > 0
300
+ ? Math.min(Math.max(0, scrollTop - viewportStartLineNumberVerticalOffset), viewportStartLineNumberLineHeight) / viewportStartLineNumberLineHeight
301
+ : 0;
297
302
  let sliderTopAligned;
298
303
  if (scrollTop >= options.paddingTop) {
299
304
  sliderTopAligned = (viewportStartLineNumber - startLineNumber + topPaddingLineCount + partialLine) * minimapLineHeight / pixelRatio;
@@ -746,6 +751,7 @@ export class Minimap extends ViewPart {
746
751
  viewportStartLineNumber: viewportStartLineNumber,
747
752
  viewportEndLineNumber: viewportEndLineNumber,
748
753
  viewportStartLineNumberVerticalOffset: ctx.getVerticalOffsetForLineNumber(viewportStartLineNumber),
754
+ viewportStartLineNumberLineHeight: ctx.getLineHeightForLineNumber(viewportStartLineNumber),
749
755
  scrollTop: ctx.scrollTop,
750
756
  scrollLeft: ctx.scrollLeft,
751
757
  viewportWidth: ctx.viewportWidth,
@@ -937,6 +943,7 @@ class InnerMinimap extends Disposable {
937
943
  this._slider.appendChild(this._sliderHorizontal);
938
944
  this._applyLayout();
939
945
  this._hideDelayedScheduler = this._register(new RunOnceScheduler(() => this._hideImmediatelyIfMouseIsOutside(), 500));
946
+ this._hideSliderAfterScrollScheduler = this._register(new RunOnceScheduler(() => this._domNode.toggleClassName('slider-scrolling', false), 500));
940
947
  this._register(dom.addStandardDisposableListener(this._domNode.domNode, dom.EventType.MOUSE_OVER, () => {
941
948
  this._isMouseOverMinimap = true;
942
949
  }));
@@ -1142,6 +1149,10 @@ class InnerMinimap extends Disposable {
1142
1149
  this._domNode.toggleClassName('active', true);
1143
1150
  this._hideSoon();
1144
1151
  }
1152
+ if (this._model.options.showSlider === 'mouseover' && e.scrollTopChanged) {
1153
+ this._domNode.toggleClassName('slider-scrolling', true);
1154
+ this._hideSliderAfterScrollScheduler.schedule();
1155
+ }
1145
1156
  this._renderDecorations = true;
1146
1157
  return true;
1147
1158
  }
@@ -1180,7 +1191,7 @@ class InnerMinimap extends Disposable {
1180
1191
  else {
1181
1192
  this._shadow.setClassName('minimap-shadow-visible');
1182
1193
  }
1183
- const layout = MinimapLayout.create(this._model.options, renderingCtx.viewportStartLineNumber, renderingCtx.viewportEndLineNumber, renderingCtx.viewportStartLineNumberVerticalOffset, renderingCtx.viewportHeight, renderingCtx.viewportContainsWhitespaceGaps, this._model.getLineCount(), this._model.getRealLineCount(), renderingCtx.scrollTop, renderingCtx.scrollHeight, this._lastRenderData ? this._lastRenderData.renderedLayout : null);
1194
+ const layout = MinimapLayout.create(this._model.options, renderingCtx.viewportStartLineNumber, renderingCtx.viewportEndLineNumber, renderingCtx.viewportStartLineNumberVerticalOffset, renderingCtx.viewportStartLineNumberLineHeight, renderingCtx.viewportHeight, renderingCtx.viewportContainsWhitespaceGaps, this._model.getLineCount(), this._model.getRealLineCount(), renderingCtx.scrollTop, renderingCtx.scrollHeight, this._lastRenderData ? this._lastRenderData.renderedLayout : null);
1184
1195
  this._slider.setDisplay(layout.sliderNeeded ? 'block' : 'none');
1185
1196
  this._slider.setTop(layout.sliderTop);
1186
1197
  this._slider.setHeight(layout.sliderHeight);