github.com/scaleway/scaleway-cli@v1.11.1/pkg/cli/cmd_search.go (about)

     1  // Copyright (C) 2015 Scaleway. All rights reserved.
     2  // Use of this source code is governed by a MIT-style
     3  // license that can be found in the LICENSE.md file.
     4  
     5  package cli
     6  
     7  import "github.com/scaleway/scaleway-cli/pkg/commands"
     8  
     9  var cmdSearch = &Command{
    10  	Exec:        runSearch,
    11  	UsageLine:   "search [OPTIONS] TERM",
    12  	Description: "Search the Scaleway Hub for images",
    13  	Help:        "Search the Scaleway Hub for images.",
    14  }
    15  
    16  func init() {
    17  	cmdSearch.Flag.BoolVar(&searchNoTrunc, []string{"-no-trunc"}, false, "Don't truncate output")
    18  	cmdSearch.Flag.BoolVar(&searchHelp, []string{"h", "-help"}, false, "Print usage")
    19  }
    20  
    21  // Flags
    22  var searchNoTrunc bool // --no-trunc flag
    23  var searchHelp bool    // -h, --help flag
    24  
    25  func runSearch(cmd *Command, rawArgs []string) error {
    26  	if searchHelp {
    27  		return cmd.PrintUsage()
    28  	}
    29  	if len(rawArgs) != 1 {
    30  		return cmd.PrintShortUsage()
    31  	}
    32  
    33  	args := commands.SearchArgs{
    34  		Term:    rawArgs[0],
    35  		NoTrunc: searchNoTrunc,
    36  	}
    37  	ctx := cmd.GetContext(rawArgs)
    38  	return commands.RunSearch(ctx, args)
    39  }