File tree Expand file tree Collapse file tree 4 files changed +40
-2
lines changed Expand file tree Collapse file tree 4 files changed +40
-2
lines changed Original file line number Diff line number Diff line change @@ -207,6 +207,9 @@ export class CodeEditorWidget extends Disposable implements editorBrowser.ICodeE
207
207
208
208
private readonly _onDidChangeViewZones : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
209
209
public readonly onDidChangeViewZones : Event < void > = this . _onDidChangeViewZones . event ;
210
+
211
+ private readonly _onDidChangeHiddenAreas : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
212
+ public readonly onDidChangeHiddenAreas : Event < void > = this . _onDidChangeHiddenAreas . event ;
210
213
//#endregion
211
214
212
215
public readonly isSimpleWidget : boolean ;
@@ -1535,6 +1538,9 @@ export class CodeEditorWidget extends Disposable implements editorBrowser.ICodeE
1535
1538
case OutgoingViewModelEventKind . ViewZonesChanged :
1536
1539
this . _onDidChangeViewZones . fire ( ) ;
1537
1540
break ;
1541
+ case OutgoingViewModelEventKind . HiddenAreasChanged :
1542
+ this . _onDidChangeHiddenAreas . fire ( ) ;
1543
+ break ;
1538
1544
case OutgoingViewModelEventKind . ReadOnlyEditAttempt :
1539
1545
this . _onDidAttemptReadOnlyEdit . fire ( ) ;
1540
1546
break ;
Original file line number Diff line number Diff line change @@ -480,6 +480,11 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE
480
480
}
481
481
} ) ) ;
482
482
483
+ this . _register ( editor . onDidChangeHiddenAreas ( ( ) => {
484
+ this . _updateDecorationsRunner . cancel ( ) ;
485
+ this . _updateDecorations ( ) ;
486
+ } ) ) ;
487
+
483
488
this . _register ( editor . onDidChangeModelContent ( ( ) => {
484
489
if ( this . _isVisible ) {
485
490
this . _beginUpdateDecorationsSoon ( ) ;
@@ -542,6 +547,11 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE
542
547
}
543
548
} ) ) ;
544
549
550
+ this . _register ( editor . onDidChangeHiddenAreas ( ( ) => {
551
+ this . _updateDecorationsRunner . cancel ( ) ;
552
+ this . _updateDecorations ( ) ;
553
+ } ) ) ;
554
+
545
555
this . _register ( editor . onDidChangeModelContent ( ( ) => {
546
556
if ( this . _isVisible ) {
547
557
this . _beginUpdateDecorationsSoon ( ) ;
@@ -1064,7 +1074,6 @@ export class DiffEditorWidget extends Disposable implements editorBrowser.IDiffE
1064
1074
// Clone scrollbar options before changing them
1065
1075
clonedOptions . scrollbar = { ...( clonedOptions . scrollbar || { } ) } ;
1066
1076
clonedOptions . scrollbar . vertical = 'visible' ;
1067
- clonedOptions . folding = false ;
1068
1077
clonedOptions . codeLens = this . _options . diffCodeLens ;
1069
1078
clonedOptions . fixedOverflowWidgets = true ;
1070
1079
// clonedOptions.lineDecorationsWidth = '2ch';
Original file line number Diff line number Diff line change @@ -176,6 +176,7 @@ export const enum OutgoingViewModelEventKind {
176
176
FocusChanged ,
177
177
ScrollChanged ,
178
178
ViewZonesChanged ,
179
+ HiddenAreasChanged ,
179
180
ReadOnlyEditAttempt ,
180
181
CursorStateChanged ,
181
182
}
@@ -308,6 +309,22 @@ export class ViewZonesChangedEvent {
308
309
}
309
310
}
310
311
312
+ export class HiddenAreasChangedEvent {
313
+
314
+ public readonly kind = OutgoingViewModelEventKind . HiddenAreasChanged ;
315
+
316
+ constructor ( ) {
317
+ }
318
+
319
+ public isNoOp ( ) : boolean {
320
+ return false ;
321
+ }
322
+
323
+ public merge ( other : OutgoingViewModelEvent ) : HiddenAreasChangedEvent {
324
+ return this ;
325
+ }
326
+ }
327
+
311
328
export class CursorStateChangedEvent {
312
329
313
330
public readonly kind = OutgoingViewModelEventKind . CursorStateChanged ;
@@ -388,6 +405,7 @@ export type OutgoingViewModelEvent = (
388
405
| FocusChangedEvent
389
406
| ScrollChangedEvent
390
407
| ViewZonesChangedEvent
408
+ | HiddenAreasChangedEvent
391
409
| ReadOnlyEditAttemptEvent
392
410
| CursorStateChangedEvent
393
411
) ;
Original file line number Diff line number Diff line change @@ -442,9 +442,10 @@ export class ViewModel extends Disposable implements IViewModel {
442
442
}
443
443
444
444
public setHiddenAreas ( ranges : Range [ ] ) : void {
445
+ let lineMappingChanged = false ;
445
446
try {
446
447
const eventsCollector = this . _eventDispatcher . beginEmitViewEvents ( ) ;
447
- let lineMappingChanged = this . _lines . setHiddenAreas ( ranges ) ;
448
+ lineMappingChanged = this . _lines . setHiddenAreas ( ranges ) ;
448
449
if ( lineMappingChanged ) {
449
450
eventsCollector . emitViewEvent ( new viewEvents . ViewFlushedEvent ( ) ) ;
450
451
eventsCollector . emitViewEvent ( new viewEvents . ViewLineMappingChangedEvent ( ) ) ;
@@ -458,6 +459,10 @@ export class ViewModel extends Disposable implements IViewModel {
458
459
this . _eventDispatcher . endEmitViewEvents ( ) ;
459
460
}
460
461
this . _updateConfigurationViewLineCount . schedule ( ) ;
462
+
463
+ if ( lineMappingChanged ) {
464
+ this . _eventDispatcher . emitOutgoingEvent ( new ViewZonesChangedEvent ( ) ) ;
465
+ }
461
466
}
462
467
463
468
public getVisibleRangesPlusViewportAboveBelow ( ) : Range [ ] {
You can’t perform that action at this time.
0 commit comments