@@ -350,23 +350,27 @@ private TreeItem CreateFileTreeItem(Tree tree, TreeItem parent, SharpIdeFile sha
350350 var folderCount = sharpIdeParent . Folders . Count ;
351351 newStartingIndex += folderCount ;
352352 }
353+ var disposableBuilder = Disposable . CreateBuilder ( ) ;
354+
353355 var fileItem = tree . CreateItem ( parent , newStartingIndex ) ;
354356 fileItem . SetText ( 0 , sharpIdeFile . Name . Value ) ;
355357 fileItem . SetIconsForFileExtension ( sharpIdeFile ) ;
356358 if ( GitColours . GetColorForGitFileStatus ( sharpIdeFile . GitStatus ) is { } notnullColor ) fileItem . SetCustomColor ( 0 , notnullColor ) ;
357359 else fileItem . ClearCustomColor ( 0 ) ;
358360 fileItem . SharpIdeNode = sharpIdeFile ;
359361
360- Observable . EveryValueChanged ( sharpIdeFile , file => file . Name . Value )
361- . Skip ( 1 ) . SubscribeOnThreadPool ( ) . ObserveOnThreadPool ( ) . SubscribeAwait ( async ( s , ct ) =>
362+ sharpIdeFile . Name . Skip ( 1 ) . SubscribeOnThreadPool ( ) . ObserveOnThreadPool ( )
363+ . SubscribeAwait ( async ( newName , ct ) =>
362364 {
363365 await this . InvokeAsync ( ( ) =>
364366 {
365- fileItem . SetText ( 0 , s ) ;
367+ GD . Print ( $ "Updating file name in solution explorer to '{ newName } '") ;
368+ fileItem . SetText ( 0 , newName ) ;
366369 fileItem . SetIconsForFileExtension ( sharpIdeFile ) ;
367370 } ) ;
368- } , configureAwait : false ) . AddToDeferred ( this ) ;
369-
371+ } , configureAwait : false )
372+ . AddTo ( ref disposableBuilder ) ;
373+ fileItem . SharpIdeDisposable = disposableBuilder . Build ( ) ;
370374 return fileItem ;
371375 }
372376
0 commit comments