package main import ( "context" "flag" "fmt" "github.com/google/subcommands" ) // Usage: signify -C [-q] -p pubkey -x sigfile [file ...] type checkCmd struct { quiet bool pubFile string sigFile string } func (m *checkCmd) Name() string { return "check" } func (m *checkCmd) Synopsis() string { return "check signatures" } func (m *checkCmd) Usage() string { return "check [-q] -p pubkey -x sigfile [file ...]\n" } func (m *checkCmd) SetFlags(f *flag.FlagSet) { f.BoolVar(&m.quiet, "q", false, "quiet mode") f.StringVar(&m.pubFile, "p", "", "public key file (required)") f.StringVar(&m.sigFile, "x", "", "signature file (required)") } func (m *checkCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interface{}) subcommands.ExitStatus { if m.pubFile == "" || m.sigFile == "" { f.Usage() return subcommands.ExitUsageError } files := make([]string, f.NArg()) for i := 0; i < f.NArg(); i++ { files[i] = f.Arg(i) } fmt.Println(files) // TODO return subcommands.ExitSuccess }