From d11e96d00edbdfee06c92d898e275a7b5b4dc611 Mon Sep 17 00:00:00 2001 From: Brian Ketelsen Date: Mon, 20 Mar 2023 22:13:50 -0400 Subject: [PATCH] feat: list programs --- cmd/list_programs.go | 62 ++++++++++++++++++++++++++++++++++++++++++++ locales/en.yml | 10 ++++++- main.go | 3 +++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 cmd/list_programs.go diff --git a/cmd/list_programs.go b/cmd/list_programs.go new file mode 100644 index 00000000..096b534c --- /dev/null +++ b/cmd/list_programs.go @@ -0,0 +1,62 @@ +/* +Copyright © 2023 NAME HERE +*/ +package cmd + +import ( + "fmt" + "strings" + + "github.com/spf13/cobra" + "github.com/ublue-os/fleek/core" + "github.com/vanilla-os/orchid/cmdr" +) + +func NewListProgramsCommand() *cmdr.Command { + cmd := cmdr.NewCommandRun( + fleek.Trans("listPrograms.use"), + fleek.Trans("listPrograms.long"), + fleek.Trans("listPrograms.short"), + listPrograms, + ) + return cmd +} + +// initCmd represents the init command +func listPrograms(cmd *cobra.Command, args []string) { + + conf, err := core.ReadConfig() + cobra.CheckErr(err) + + cmdr.Info.Println(fleek.Trans("listPrograms.userBling"), strings.ToUpper(conf.Bling)) + switch conf.Bling { + case "high": + cmdr.Info.Println(fleek.Trans("listPrograms.highBling")) + case "default": + cmdr.Info.Println(fleek.Trans("listPrograms.defaultBling")) + case "low": + cmdr.Info.Println(fleek.Trans("listPrograms.lowBling")) + + } + if conf.Bling == "high" { + for _, pkg := range core.HighPrograms { + fmt.Printf("\t%s\n", pkg) + } + } + if conf.Bling == "default" || conf.Bling == "high" { + + for _, pkg := range core.DefaultPrograms { + fmt.Printf("\t%s\n", pkg) + } + } + for _, pkg := range core.LowPrograms { + fmt.Printf("\t%s\n", pkg) + } + + cmdr.Info.Println(fleek.Trans("listPrograms.userInstalled")) + + for _, pkg := range conf.Programs { + fmt.Printf("\t%s\n", pkg) + } + +} diff --git a/locales/en.yml b/locales/en.yml index aaff5f47..b9bf0de1 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -63,7 +63,15 @@ listPackages: defaultBling: "Default Bling Packages:" highBling: "High Bling Packages:" userInstalled: "User Selected Packages:" - +listPrograms: + use: "programs" + long: "List installed programs" + short: "List installed programs" + userBling: "Your Bling Level:" + lowBling: "Low Bling Programs:" + defaultBling: "Default Bling Programs:" + highBling: "High Bling Programs:" + userInstalled: "User Selected Programs:" remove: use: "remove [package] [package] ..." long: "Remove a package or program from your configuration.\n Use the `--program` flag to specify a program which can also be configured by nix." diff --git a/main.go b/main.go index c5c67ea0..20481c7a 100644 --- a/main.go +++ b/main.go @@ -44,7 +44,10 @@ func main() { list := cmd.NewListCommand() listPkgs := cmd.NewListPackagesCommand() + listProgs := cmd.NewListProgramsCommand() + list.AddCommand(listPkgs) + list.AddCommand(listProgs) root.AddCommand(list) // run the app err := fleek.Run()