Make code lint-clean under the canonical golangci-lint config
150 findings fixed: linter autofixes for whitespace style (wsl_v5, nlreturn, noinlineerr), named returns removed, magic numbers replaced with named constants, static errNotRegular error, explicit Close/Parse error handling, unused cobra params renamed to _, and runReport/ runTrees/hashPass split into helpers to satisfy cyclop, gocognit, and funlen. Behavior verified unchanged against the README smoke test.
This commit is contained in:
26
main.go
26
main.go
@@ -20,15 +20,23 @@ import (
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// Exit codes: 0 is success (even with per-file warnings), exitFatal is
|
||||
// a fatal error, exitUsage is a usage error.
|
||||
const (
|
||||
exitFatal = 1
|
||||
exitUsage = 2
|
||||
)
|
||||
|
||||
func main() {
|
||||
root := &cobra.Command{
|
||||
Use: "sfdupes",
|
||||
Short: "Find candidate duplicate files by size and head/tail SHA-256",
|
||||
Args: cobra.NoArgs,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
Run: func(cmd *cobra.Command, _ []string) {
|
||||
// A missing subcommand prints usage and exits 2.
|
||||
_ = cmd.Usage()
|
||||
os.Exit(2)
|
||||
|
||||
os.Exit(exitUsage)
|
||||
},
|
||||
}
|
||||
// Everything on stdout is machine-readable data; all human-facing
|
||||
@@ -43,7 +51,7 @@ func main() {
|
||||
// The README specifies single-dash flags (-root, -workers);
|
||||
// parse them with the stdlib flag package inside runScan.
|
||||
DisableFlagParsing: true,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
Run: func(_ *cobra.Command, args []string) {
|
||||
runScan(args)
|
||||
},
|
||||
}
|
||||
@@ -52,7 +60,7 @@ func main() {
|
||||
Use: "report [files.dat|-]",
|
||||
Short: "Read a scan stream and print the file-level duplicates report",
|
||||
Args: cobra.MaximumNArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
Run: func(_ *cobra.Command, args []string) {
|
||||
runReport(args)
|
||||
},
|
||||
}
|
||||
@@ -61,21 +69,23 @@ func main() {
|
||||
Use: "trees [files.dat|-]",
|
||||
Short: "Read a scan stream and print the duplicate-tree report",
|
||||
Args: cobra.MaximumNArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
Run: func(_ *cobra.Command, args []string) {
|
||||
runTrees(args)
|
||||
},
|
||||
}
|
||||
|
||||
root.AddCommand(scanCmd, reportCmd, treesCmd)
|
||||
if err := root.Execute(); err != nil {
|
||||
|
||||
err := root.Execute()
|
||||
if err != nil {
|
||||
// Cobra has already printed the error and usage to stderr;
|
||||
// an invalid subcommand or bad arguments is a usage error.
|
||||
os.Exit(2)
|
||||
os.Exit(exitUsage)
|
||||
}
|
||||
}
|
||||
|
||||
// fatalf reports a fatal error and exits 1.
|
||||
func fatalf(format string, args ...any) {
|
||||
fmt.Fprintf(os.Stderr, "sfdupes: "+format+"\n", args...)
|
||||
os.Exit(1)
|
||||
os.Exit(exitFatal)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user