From 3396c2bc7433a8be0bd4eadaa57a4e25f96329bd Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Wed, 17 Apr 2024 14:24:54 +0100 Subject: [PATCH] refactor: move stack push to method reduces method complexity and now Rider isn't crying --- FindDuplicates/ListCommand.cs | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/FindDuplicates/ListCommand.cs b/FindDuplicates/ListCommand.cs index 206c672..b50447c 100644 --- a/FindDuplicates/ListCommand.cs +++ b/FindDuplicates/ListCommand.cs @@ -89,18 +89,7 @@ internal sealed class ListCommand : AsyncCommand if (relativePath != ".") AnsiConsole.MarkupLineInterpolated($"Searching [cyan]{relativePath}[/]"); - if (settings.Recursive) - { - try - { - foreach (DirectoryInfo childDirectory in currentDirectory.EnumerateDirectories()) - directoryStack.Push(childDirectory); - } - catch (Exception ex) - { - AnsiConsole.MarkupLineInterpolated($"[red]Error:[/] {ex.Message}"); - } - } + AddChildDirectories(settings, currentDirectory, directoryStack); try { @@ -142,6 +131,22 @@ internal sealed class ListCommand : AsyncCommand } } + private static void AddChildDirectories(ListSettings settings, DirectoryInfo directory, Stack stack) + { + if (!settings.Recursive) + return; + + try + { + foreach (DirectoryInfo childDirectory in directory.EnumerateDirectories()) + stack.Push(childDirectory); + } + catch (Exception ex) + { + AnsiConsole.MarkupLineInterpolated($"[red]Error:[/] {ex.Message}"); + } + } + private static string ByteSpanToString(ReadOnlySpan buffer) { var builder = new StringBuilder();