✨ Add formatters.Preferred
This commit is contained in:
parent
11dea95ce2
commit
febbce8a6b
4 changed files with 22 additions and 2 deletions
|
|
@ -60,7 +60,7 @@ var dropCmd = &cobra.Command{
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
form, err := formatters.New("plain")
|
form, err := formatters.Preferred()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ func init() {
|
||||||
// will be global for your application.
|
// will be global for your application.
|
||||||
|
|
||||||
rootCmd.PersistentFlags().StringVarP(&config.ConfigPath, "config", "c", config.ConfigPath, "config file")
|
rootCmd.PersistentFlags().StringVarP(&config.ConfigPath, "config", "c", config.ConfigPath, "config file")
|
||||||
rootCmd.PersistentFlags().StringToStringVarP(&config.Overrides, "config-value", "v", config.Overrides, "Override config values. Use dot syntax to specify key. E.g. -v output.stdout.config.json=true")
|
rootCmd.PersistentFlags().StringToStringVarP(&config.Overrides, "config-value", "v", config.Overrides, "Override config values. Use dot syntax to specify key. E.g. -v output.stdout.config.formatter=json")
|
||||||
|
|
||||||
// Cobra also supports local flags, which will only run
|
// Cobra also supports local flags, which will only run
|
||||||
// when this action is called directly.
|
// when this action is called directly.
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,16 @@ var formatterMap = map[string]formatMaker{
|
||||||
"plain": newPlain,
|
"plain": newPlain,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Preferred() (f Formatter, err error) {
|
||||||
|
conf, err := config.Load()
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
std, _ := conf.Outputs.Stdout()
|
||||||
|
kind := std.Formatter
|
||||||
|
return New(kind)
|
||||||
|
}
|
||||||
|
|
||||||
func New(kind string) (f Formatter, err error) {
|
func New(kind string) (f Formatter, err error) {
|
||||||
conf, err := config.Load()
|
conf, err := config.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,14 @@ func TestNewCantGetConfig(t *testing.T) {
|
||||||
form, err := New("plain")
|
form, err := New("plain")
|
||||||
assert.Nil(t, form)
|
assert.Nil(t, form)
|
||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
|
|
||||||
|
form, err = Preferred()
|
||||||
|
assert.Nil(t, form)
|
||||||
|
assert.Error(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPreferred(t *testing.T) {
|
||||||
|
form, err := Preferred()
|
||||||
|
assert.NotNil(t, form)
|
||||||
|
assert.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue