From 6af1f231dfb0af88118b1c421a63fd1ce2df67b6 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Fri, 4 Apr 2025 23:51:12 -0600 Subject: [PATCH] mv into func --- main.go | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/main.go b/main.go index c9a251a..3bc5425 100644 --- a/main.go +++ b/main.go @@ -56,20 +56,7 @@ func Main(ctx context.Context) error { mvNLn := RealMvNLn if *dry { - outd := map[string]struct{}{} - mvNLn = func(outf, inf string) error { - if _, err := os.Stat(outf); err == nil { - return nil - } - - if _, ok := outd[outf]; ok { - return nil - } - outd[outf] = struct{}{} - - fmt.Fprintf(os.Stderr, "mv %q %q\n", inf, outf) - return nil - } + mvNLn = DryMvNLn() } return Run(ctx, @@ -151,3 +138,20 @@ func RealMvNLn(outf, inf string) error { } return os.Symlink(outf, inf) } + +func DryMvNLn() func(string, string) error { + outd := map[string]struct{}{} + return func(outf, inf string) error { + if _, err := os.Stat(outf); err == nil { + return nil + } + + if _, ok := outd[outf]; ok { + return nil + } + outd[outf] = struct{}{} + + fmt.Fprintf(os.Stderr, "mv %q %q\n", inf, outf) + return nil + } +}