From 4e723362aef161b47609436dfa7bddaae137a35c Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Wed, 17 Apr 2024 19:22:49 +0100 Subject: [PATCH] perf: remove output of every filename --- FindDuplicates/ListCommand.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/FindDuplicates/ListCommand.cs b/FindDuplicates/ListCommand.cs index 66669c8..cfbe542 100644 --- a/FindDuplicates/ListCommand.cs +++ b/FindDuplicates/ListCommand.cs @@ -65,7 +65,7 @@ internal sealed class ListCommand : AsyncCommand StatusContext ctx) { var tasks = new List(); - SearchDuplicates(inputDirectory, settings, tasks); + SearchDuplicates(ctx, inputDirectory, settings, tasks); await Task.Run(() => { int incompleteTasks; @@ -80,15 +80,14 @@ internal sealed class ListCommand : AsyncCommand }).ConfigureAwait(false); } - private void SearchDuplicates(DirectoryInfo inputDirectory, ListSettings settings, ICollection tasks) + private void SearchDuplicates(StatusContext ctx, DirectoryInfo inputDirectory, ListSettings settings, ICollection tasks) { var directoryStack = new Stack([inputDirectory]); + while (directoryStack.Count > 0) { DirectoryInfo currentDirectory = directoryStack.Pop(); - string relativePath = Path.GetRelativePath(inputDirectory.FullName, currentDirectory.FullName); - if (relativePath != ".") - AnsiConsole.MarkupLineInterpolated($"Searching [cyan]{relativePath}[/]"); + ctx.Status(currentDirectory.FullName.EscapeMarkup()); AddChildDirectories(settings, currentDirectory, directoryStack);