🔧 CLI: add quiet mode

This commit is contained in:
Ettore Di Giacinto 2021-12-04 21:35:34 +01:00
parent 79e98af604
commit 1e6aca0ba1
5 changed files with 23 additions and 6 deletions

View File

@ -371,6 +371,10 @@ Search can also return results in the terminal in different ways: as terminal ou
default: default:
if tableMode { if tableMode {
t.Render() t.Render()
} else if util.DefaultContext.Config.General.Quiet {
for _, tt := range results.Packages {
fmt.Printf("%s/%s-%s\n", tt.Category, tt.Name, tt.Version)
}
} else { } else {
l.Render() l.Render()
} }

View File

@ -156,11 +156,15 @@ func DisplayVersionBanner(c *types.Context, banner func(), version func() string
} }
} }
if display { if display {
if c.Config.General.Quiet {
pterm.Info.Printf("Luet %s\n", version())
pterm.Info.Println(strings.Join(license, "\n"))
} else {
banner() banner()
pterm.DefaultCenter.Print(version()) pterm.DefaultCenter.Print(version())
for _, l := range license { for _, l := range license {
pterm.DefaultCenter.Print(l) pterm.DefaultCenter.Print(l)
}
} }
} }
} }

View File

@ -120,6 +120,7 @@ func setDefaults(viper *viper.Viper) {
viper.SetDefault("general.concurrency", runtime.NumCPU()) viper.SetDefault("general.concurrency", runtime.NumCPU())
viper.SetDefault("general.debug", false) viper.SetDefault("general.debug", false)
viper.SetDefault("general.quiet", false)
viper.SetDefault("general.show_build_output", false) viper.SetDefault("general.show_build_output", false)
viper.SetDefault("general.fatal_warnings", false) viper.SetDefault("general.fatal_warnings", false)
viper.SetDefault("general.http_timeout", 360) viper.SetDefault("general.http_timeout", 360)
@ -159,7 +160,8 @@ func InitViper(ctx *types.Context, RootCmd *cobra.Command) {
cobra.OnInitialize(initConfig) cobra.OnInitialize(initConfig)
pflags := RootCmd.PersistentFlags() pflags := RootCmd.PersistentFlags()
pflags.StringVar(&cfgFile, "config", "", "config file (default is $HOME/.luet.yaml)") pflags.StringVar(&cfgFile, "config", "", "config file (default is $HOME/.luet.yaml)")
pflags.BoolP("debug", "d", false, "verbose output") pflags.BoolP("debug", "d", false, "debug output")
pflags.BoolP("quiet", "q", false, "quiet output")
pflags.Bool("fatal", false, "Enables Warnings to exit") pflags.Bool("fatal", false, "Enables Warnings to exit")
pflags.Bool("enable-logfile", false, "Enable log to file") pflags.Bool("enable-logfile", false, "Enable log to file")
pflags.Bool("no-spinner", false, "Disable spinner.") pflags.Bool("no-spinner", false, "Disable spinner.")
@ -188,6 +190,7 @@ func InitViper(ctx *types.Context, RootCmd *cobra.Command) {
viper.BindPFlag("general.concurrency", pflags.Lookup("concurrency")) viper.BindPFlag("general.concurrency", pflags.Lookup("concurrency"))
viper.BindPFlag("general.debug", pflags.Lookup("debug")) viper.BindPFlag("general.debug", pflags.Lookup("debug"))
viper.BindPFlag("general.quiet", pflags.Lookup("quiet"))
viper.BindPFlag("general.fatal_warnings", pflags.Lookup("fatal")) viper.BindPFlag("general.fatal_warnings", pflags.Lookup("fatal"))
viper.BindPFlag("general.same_owner", pflags.Lookup("same-owner")) viper.BindPFlag("general.same_owner", pflags.Lookup("same-owner"))
viper.BindPFlag("plugin", pflags.Lookup("plugin")) viper.BindPFlag("plugin", pflags.Lookup("plugin"))

View File

@ -61,6 +61,7 @@ type LuetGeneralConfig struct {
ShowBuildOutput bool `yaml:"show_build_output,omitempty" mapstructure:"show_build_output"` ShowBuildOutput bool `yaml:"show_build_output,omitempty" mapstructure:"show_build_output"`
FatalWarns bool `yaml:"fatal_warnings,omitempty" mapstructure:"fatal_warnings"` FatalWarns bool `yaml:"fatal_warnings,omitempty" mapstructure:"fatal_warnings"`
HTTPTimeout int `yaml:"http_timeout,omitempty" mapstructure:"http_timeout"` HTTPTimeout int `yaml:"http_timeout,omitempty" mapstructure:"http_timeout"`
Quiet bool `yaml:"quiet" mapstructure:"quiet"`
} }
type LuetSolverOptions struct { type LuetSolverOptions struct {

View File

@ -112,6 +112,11 @@ func (c *Context) Init() (err error) {
c.NoColor() c.NoColor()
} }
if c.Config.General.Quiet {
c.NoColor()
pterm.DisableStyling()
}
c.Debug("Colors", c.Config.GetLogging().Color) c.Debug("Colors", c.Config.GetLogging().Color)
c.Debug("Logging level", c.Config.GetLogging().Level) c.Debug("Logging level", c.Config.GetLogging().Level)
c.Debug("Debug mode", c.Config.GetGeneral().Debug) c.Debug("Debug mode", c.Config.GetGeneral().Debug)