File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed
src/vs/workbench/contrib/chat/browser Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -619,19 +619,26 @@ class ModifiedFileEntry extends Disposable implements IModifiedFileEntry {
619
619
resourceRef : IReference < IResolvedTextEditorModel > ,
620
620
private readonly _multiDiffEntryDelegate : { collapse : ( transaction : ITransaction | undefined ) => void } ,
621
621
@IModelService modelService : IModelService ,
622
+ @ITextModelService textModelService : ITextModelService ,
622
623
@ILanguageService languageService : ILanguageService ,
623
624
@IBulkEditService public readonly _bulkEditService : IBulkEditService ,
624
625
) {
625
626
super ( ) ;
626
627
this . doc = resourceRef . object . textEditorModel ;
627
- this . docSnapshot = this . _register (
628
+ const docSnapshot = this . docSnapshot = this . _register (
628
629
modelService . createModel (
629
630
createTextBufferFactoryFromSnapshot ( this . doc . createSnapshot ( ) ) ,
630
631
languageService . createById ( this . doc . getLanguageId ( ) ) ,
631
632
ChatEditingTextModelContentProvider . getFileURI ( this . entryId , resource . path ) ,
632
633
false
633
634
)
634
635
) ;
636
+
637
+ // Create a reference to this model to avoid it being disposed from under our nose
638
+ ( async ( ) => {
639
+ this . _register ( await textModelService . createModelReference ( docSnapshot . uri ) ) ;
640
+ } ) ( ) ;
641
+
635
642
this . _register ( resourceRef ) ;
636
643
}
637
644
You can’t perform that action at this time.
0 commit comments