github.com/robgonnella/ardi/v2@v2.4.5-0.20230102052001-11a49de978c3/commands/search.go (about)

     1  package commands
     2  
     3  import "github.com/spf13/cobra"
     4  
     5  func getSearchPlatformCmd(env *CommandEnv) *cobra.Command {
     6  	searchCmd := &cobra.Command{
     7  		Use:     "platforms",
     8  		Long:    "\nSearch all available platforms",
     9  		Short:   "Search all available platforms",
    10  		Aliases: []string{"platform"},
    11  		RunE: func(cmd *cobra.Command, args []string) error {
    12  			if err := requireProjectInit(); err != nil {
    13  				return err
    14  			}
    15  			env.Logger.Info("Available platforms")
    16  			if err := env.ArdiCore.Platform.ListAll(); err != nil {
    17  				return err
    18  			}
    19  			return nil
    20  		},
    21  	}
    22  	return searchCmd
    23  }
    24  
    25  func getSearchLibCmd(env *CommandEnv) *cobra.Command {
    26  	searchCmd := &cobra.Command{
    27  		Use:     "libraries",
    28  		Long:    "\nSearches for availables libraries with optional search filter",
    29  		Short:   "Searches for availables libraries with optional search filter",
    30  		Aliases: []string{"lib", "libs", "library"},
    31  		RunE: func(cmd *cobra.Command, args []string) error {
    32  			if err := requireProjectInit(); err != nil {
    33  				return err
    34  			}
    35  			searchArg := ""
    36  			if len(args) > 0 {
    37  				searchArg = args[0]
    38  			}
    39  			if err := env.ArdiCore.Lib.Search(searchArg); err != nil {
    40  				return err
    41  			}
    42  			return nil
    43  		},
    44  	}
    45  	return searchCmd
    46  }
    47  
    48  func getSearchCmd(env *CommandEnv) *cobra.Command {
    49  	searchCmd := &cobra.Command{
    50  		Use:   "search",
    51  		Short: "Search for arduino platforms, libraries, and boards",
    52  		Long:  "\nSearch for arduino platforms, libraries, and boards",
    53  	}
    54  	searchCmd.AddCommand(getSearchPlatformCmd(env))
    55  	searchCmd.AddCommand(getSearchLibCmd(env))
    56  	return searchCmd
    57  }