// SPDX-License-Identifier: GPL-3.0-or-later package main import ( "fmt" "io" "krino/internal/config" "krino/internal/xdg" ) func init() { commands["init"] = cmdInit } // cmdInit creates the config directory with a commented krino.conf and // template.conf. func cmdInit(g *globals, args []string, stdout, stderr io.Writer) int { fs := flagSet("init", g) if code, ok := parse(fs, args, stdout, stderr); !ok { return code } if g.minAgeSet { return usageError(stderr, "--min-age applies only to sorting and explain") } if code, refused := refuseUnusedFlags(g, stderr, "init", false); refused { return code } if fs.NArg() != 0 { return usageError(stderr, "init takes no arguments") } created, err := config.Init(mainFile(g)) if err != nil { fmt.Fprintf(stderr, "krino: %v\n", err) return 2 } for _, f := range created { fmt.Fprintf(stdout, "created %s\n", display(xdg.Abbrev(f))) } fmt.Fprintln(stdout, "next: krino new NAME PATH, for example: krino new downloads ~/Downloads") return 0 }