File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed
src/vs/workbench/contrib/inlineChat/browser Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -307,15 +307,22 @@ export class InlineChatLivePreviewWidget extends ZoneWidget {
307
307
}
308
308
309
309
private _hideEditorRanges ( editor : ICodeEditor , lineRanges : LineRange [ ] ) : void {
310
+ assertType ( editor . hasModel ( ) ) ;
311
+
310
312
lineRanges = lineRanges . filter ( range => ! range . isEmpty ) ;
311
313
if ( lineRanges . length === 0 ) {
312
314
// todo?
313
315
this . _logService . debug ( `[IE] diff NOTHING to hide for ${ editor . getId ( ) } with ${ String ( editor . getModel ( ) ?. uri ) } ` ) ;
314
316
return ;
315
317
}
316
- const ranges = lineRanges . map ( lineRangeAsRange ) ;
317
- editor . setHiddenAreas ( ranges , InlineChatLivePreviewWidget . _hideId ) ;
318
- this . _logService . debug ( `[IE] diff HIDING ${ ranges } for ${ editor . getId ( ) } with ${ String ( editor . getModel ( ) ?. uri ) } ` ) ;
318
+
319
+ let hiddenRanges = lineRanges . map ( lineRangeAsRange ) ;
320
+ if ( LineRange . fromRange ( hiddenRanges . reduce ( Range . plusRange ) ) . equals ( LineRange . ofLength ( 1 , editor . getModel ( ) . getLineCount ( ) ) ) ) {
321
+ // TODO not every line can be hidden, keep the first line around
322
+ hiddenRanges = [ editor . getModel ( ) . getFullModelRange ( ) . delta ( 1 ) ] ;
323
+ }
324
+ editor . setHiddenAreas ( hiddenRanges , InlineChatLivePreviewWidget . _hideId ) ;
325
+ this . _logService . debug ( `[IE] diff HIDING ${ hiddenRanges } for ${ editor . getId ( ) } with ${ String ( editor . getModel ( ) ?. uri ) } ` ) ;
319
326
}
320
327
321
328
protected override revealRange ( range : Range , isLastLine : boolean ) : void {
You can’t perform that action at this time.
0 commit comments