Files
SharpIDE/src/SharpIDE.Application/Features/Analysis/IdeCodeActionService.cs
2025-10-24 18:47:51 +10:00

20 lines
728 B
C#

using Microsoft.CodeAnalysis.CodeActions;
using SharpIDE.Application.Features.FileWatching;
namespace SharpIDE.Application.Features.Analysis;
public class IdeCodeActionService(RoslynAnalysis roslynAnalysis, FileChangedService fileChangedService)
{
private readonly RoslynAnalysis _roslynAnalysis = roslynAnalysis;
private readonly FileChangedService _fileChangedService = fileChangedService;
public async Task ApplyCodeAction(CodeAction codeAction)
{
var affectedFiles = await _roslynAnalysis.GetCodeActionApplyChanges(codeAction);
foreach (var (affectedFile, updatedText) in affectedFiles)
{
await _fileChangedService.SharpIdeFileChanged(affectedFile, updatedText, FileChangeType.CodeActionChange);
}
}
}