From b529bd3f3fde33908b5a6bb56e13cf927ef3bc13 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Wed, 22 Oct 2025 19:36:49 +1000 Subject: [PATCH] remove file from in-memory cache on tab close --- .../Features/FilePersistence/IdeOpenTabsFileManager.cs | 5 +++++ src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs | 1 + 2 files changed, 6 insertions(+) diff --git a/src/SharpIDE.Application/Features/FilePersistence/IdeOpenTabsFileManager.cs b/src/SharpIDE.Application/Features/FilePersistence/IdeOpenTabsFileManager.cs index 0c78f5c..8a47d23 100644 --- a/src/SharpIDE.Application/Features/FilePersistence/IdeOpenTabsFileManager.cs +++ b/src/SharpIDE.Application/Features/FilePersistence/IdeOpenTabsFileManager.cs @@ -70,6 +70,11 @@ public class IdeOpenTabsFileManager await SaveFileAsync(file); } } + + public void CloseFile(SharpIdeFile file) + { + _openFiles.TryRemove(file, out _); + } } #pragma warning restore VSTHRD011 diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs index 446aaae..21716e7 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs @@ -126,6 +126,7 @@ public partial class SharpIdeCodeEdit : CodeEdit { _currentFile?.FileContentsChangedExternally.Unsubscribe(OnFileChangedExternally); GlobalEvents.Instance.SolutionAltered.Unsubscribe(OnSolutionAltered); + _openTabsFileManager.CloseFile(_currentFile!); } private void OnBreakpointToggled(long line)