github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/cmd/syft/cli/commands/root.go (about)

     1  package commands
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/spf13/cobra"
     7  
     8  	"github.com/anchore/clio"
     9  )
    10  
    11  func Root(app clio.Application, packagesCmd *cobra.Command) *cobra.Command {
    12  	id := app.ID()
    13  
    14  	opts := defaultPackagesOptions()
    15  
    16  	return app.SetupRootCommand(&cobra.Command{
    17  		Use:     fmt.Sprintf("%s [SOURCE]", app.ID().Name),
    18  		Short:   packagesCmd.Short,
    19  		Long:    packagesCmd.Long,
    20  		Args:    packagesCmd.Args,
    21  		Example: packagesCmd.Example,
    22  		PreRunE: applicationUpdateCheck(id, &opts.UpdateCheck),
    23  		RunE: func(cmd *cobra.Command, args []string) error {
    24  			return runPackages(id, opts, args[0])
    25  		},
    26  	}, opts)
    27  }