From 5b878c3fba6548cac18c5f65b6fe7e6c26bd63cc Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Thu, 9 Oct 2025 01:14:53 +1000 Subject: [PATCH] Only save dirty files --- .../Features/FilePersistence/IdeFileManager.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SharpIDE.Application/Features/FilePersistence/IdeFileManager.cs b/src/SharpIDE.Application/Features/FilePersistence/IdeFileManager.cs index 8a9abda..1e41c55 100644 --- a/src/SharpIDE.Application/Features/FilePersistence/IdeFileManager.cs +++ b/src/SharpIDE.Application/Features/FilePersistence/IdeFileManager.cs @@ -54,6 +54,7 @@ public class IdeFileManager public async Task SaveFileAsync(SharpIdeFile file) { if (!_openFiles.ContainsKey(file)) throw new InvalidOperationException("File is not open in memory."); + if (file.IsDirty.Value is false) return; var text = await GetFileTextAsync(file); await File.WriteAllTextAsync(file.Path, text); @@ -75,7 +76,7 @@ public class IdeFileManager public async Task SaveAllOpenFilesAsync() { - foreach (var file in _openFiles.Keys) + foreach (var file in _openFiles.Keys.ToList()) { await SaveFileAsync(file); }