package app import ( "fmt" "sort" "strings" "coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/pkg/autocomplete" "coopcloud.tech/abra/pkg/formatter" "coopcloud.tech/abra/pkg/i18n" "github.com/spf13/cobra" ) // translators: `abra app env` aliases. use a comma separated list of aliases with // no spaces in between var appEnvAliases = i18n.G("e") var AppEnvCommand = &cobra.Command{ // translators: `app env` command Use: i18n.G("env [flags]"), Aliases: strings.Split(appEnvAliases, ","), // translators: Short description for `app env` command Short: i18n.G("Show app .env values"), Example: i18n.G(" abra app env 1312.net"), Args: cobra.ExactArgs(1), ValidArgsFunction: func( cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return autocomplete.AppNameComplete() }, Run: func(cmd *cobra.Command, args []string) { app := internal.ValidateApp(args) var envKeys []string for k := range app.Env { envKeys = append(envKeys, k) } sort.Strings(envKeys) var rows [][]string for _, k := range envKeys { rows = append(rows, []string{k, app.Env[k]}) } overview := formatter.CreateOverview(i18n.G("ENV OVERVIEW"), rows) fmt.Println(overview) }, }