This repository has been archived on 2026-03-18. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
lotus-package-manager/Commands/SearchCommand.go
2021-11-09 10:41:11 +01:00

43 lines
1.1 KiB
Go

package Commands
import (
"github.com/olekukonko/tablewriter"
"github.com/urfave/cli/v2"
"lpm-cli/Lotus"
"lpm-cli/ProtoHandler"
"os"
)
func NewSearchCommand() *cli.Command {
logger := Lotus.Logger("searchCommand")
return &cli.Command {
Name: "search",
Usage: "Seaches a packages",
Description: "Sends a search request to the default registry server, or to a user-defined registry server",
HelpName: "search",
Action: func(c *cli.Context) error {
packages := ProtoHandler.SearchPackages("a platform", []string{"amd64", "i386"}, "chrome")
//sample code
table := tablewriter.NewWriter(os.Stdout)
table.SetHeader([]string{"Publisher", "Package", "Description", "Latest Version", "Registry"})
for _, pkg := range packages {
table.Append([]string{pkg.PackageMetadata.Publisher, pkg.PackageMetadata.Name, pkg.PackageMetadata.Description, pkg.PackageMetadata.Version, pkg.Register.Register})
}
table.Render()
//Sample code end
return nil
},
OnUsageError: func(c *cli.Context, err error, isSubcommand bool) error {
if err != nil{
logger.Fatal(err)
}
return err
},
}
}