mirror of https://github.com/databricks/cli.git
40 lines
685 B
Go
40 lines
685 B
Go
package flags
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// Output controls how the CLI should produce its output.
|
|
type Output string
|
|
|
|
var (
|
|
OutputText = Output("text")
|
|
OutputJSON = Output("json")
|
|
)
|
|
|
|
func (f *Output) String() string {
|
|
return string(*f)
|
|
}
|
|
|
|
func (f *Output) Set(s string) error {
|
|
lower := strings.ToLower(s)
|
|
switch lower {
|
|
case OutputText.String():
|
|
*f = Output(OutputText.String())
|
|
case OutputJSON.String():
|
|
*f = Output(OutputJSON.String())
|
|
default:
|
|
valid := []string{
|
|
OutputText.String(),
|
|
OutputJSON.String(),
|
|
}
|
|
return fmt.Errorf("accepted arguments are %s", strings.Join(valid, " and "))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (f *Output) Type() string {
|
|
return "type"
|
|
}
|