feat: use a named type for Cli options

This commit is contained in:
Brian McGee 2023-12-23 12:56:17 +00:00
parent 6904097171
commit 0c93d98483
Signed by: brianmcgee
GPG Key ID: D49016E76AD1E8C0
2 changed files with 8 additions and 11 deletions

View File

@ -2,9 +2,10 @@ package cli
import "github.com/charmbracelet/log"
var Cli struct {
Log LogOptions `embed:""`
var Cli = Options{}
type Options struct {
Verbosity int `name:"verbose" short:"v" type:"counter" default:"0" env:"LOG_LEVEL" help:"Set the verbosity of logs e.g. -vv"`
ConfigFile string `type:"existingfile" default:"./treefmt.toml"`
TreeRoot string `type:"existingdir" default:"."`
ClearCache bool `short:"c" help:"Reset the evaluation cache. Use in case the cache is not precise enough"`
@ -12,18 +13,14 @@ var Cli struct {
Format Format `cmd:"" default:"."`
}
type LogOptions struct {
Verbosity int `name:"verbose" short:"v" type:"counter" default:"0" env:"LOG_LEVEL" help:"Set the verbosity of logs e.g. -vv"`
}
func (lo *LogOptions) ConfigureLogger() {
func (c *Options) ConfigureLogger() {
log.SetReportTimestamp(false)
if lo.Verbosity == 0 {
if c.Verbosity == 0 {
log.SetLevel(log.WarnLevel)
} else if lo.Verbosity == 1 {
} else if c.Verbosity == 1 {
log.SetLevel(log.InfoLevel)
} else if lo.Verbosity >= 2 {
} else if c.Verbosity >= 2 {
log.SetLevel(log.DebugLevel)
}
}

View File

@ -19,7 +19,7 @@ type Format struct{}
func (f *Format) Run() error {
start := time.Now()
Cli.Log.ConfigureLogger()
Cli.ConfigureLogger()
l := log.WithPrefix("format")