Documentation ¶
Overview ¶
Package ui will provide hooks into STDOUT, STDERR and STDIN. It will also handle translation as necessary.
This package is explicitly designed for the CF CLI and is *not* to be used by any package outside of the commands package.
Index ¶
- func GetTranslationFunc(config Config) (i18n.TranslateFunc, error)
- type Config
- type TranslatableError
- type UI
- func (ui *UI) DisplayBoolPrompt(prompt string, defaultResponse bool) (bool, error)
- func (ui *UI) DisplayError(err error)
- func (ui *UI) DisplayHeader(text string)
- func (ui *UI) DisplayNewline()
- func (ui *UI) DisplayOK()
- func (ui *UI) DisplayPair(attribute string, template string, templateValues ...map[string]interface{})
- func (ui *UI) DisplayTable(prefix string, table [][]string, padding int)
- func (ui *UI) DisplayText(template string, templateValues ...map[string]interface{})
- func (ui *UI) DisplayTextWithFlavor(template string, templateValues ...map[string]interface{})
- func (ui *UI) DisplayWarning(template string, templateValues ...map[string]interface{})
- func (ui *UI) DisplayWarnings(warnings []string)
- func (ui *UI) TranslateText(template string, templateValues ...map[string]interface{}) string
- func (ui *UI) UserFriendlyDate(input time.Time) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTranslationFunc ¶
func GetTranslationFunc(config Config) (i18n.TranslateFunc, error)
GetTranslationFunc will return back a function that can be used to translate strings into the currently set locale.
Types ¶
type Config ¶
type Config interface { // ColorEnabled enables or disabled color ColorEnabled() configv3.ColorSetting // Locale is the language to translate the output to Locale() string }
Config is the UI configuration
type TranslatableError ¶
type TranslatableError interface { // Returns back the untranslated error string Error() string Translate(func(string, ...interface{}) string) string }
TranslatableError it wraps the error interface adding a way to set the translation function on the error
type UI ¶
type UI struct { // In is the input buffer In io.Reader // Out is the output buffer Out io.Writer // Err is the error buffer Err io.Writer // contains filtered or unexported fields }
UI is interface to interact with the user
func NewTestUI ¶
NewTestUI will return a UI object where Out, In, and Err are customizable, and colors are disabled
func NewUI ¶
NewUI will return a UI object where Out is set to STDOUT, In is set to STDIN, and Err is set to STDERR
func (*UI) DisplayBoolPrompt ¶
DisplayBoolPrompt outputs the prompt and waits for user input. It only allows for a boolean response. A default boolean response can be set with defaultResponse.
func (*UI) DisplayError ¶
DisplayError outputs the translated error message to ui.Err if the error satisfies TranslatableError, otherwise it outputs the original error message to ui.Err. It also outputs "FAILED" in bold red to ui.Out.
func (*UI) DisplayHeader ¶
DisplayHeader translates the header, bolds and adds the default color to the header, and outputs the result to ui.Out.
func (*UI) DisplayNewline ¶
func (ui *UI) DisplayNewline()
DisplayNewline outputs a newline to UI.Out.
func (*UI) DisplayOK ¶
func (ui *UI) DisplayOK()
DisplayOK outputs a bold green translated "OK" to UI.Out.
func (*UI) DisplayPair ¶
func (ui *UI) DisplayPair(attribute string, template string, templateValues ...map[string]interface{})
DisplayPair translates the attribute, translates the template, substitutes templateValues into the template, and outputs the pair to ui.Out. Only the first map in templateValues is used.
func (*UI) DisplayTable ¶
DisplayTable outputs a matrix of strings as a table to UI.Out. Prefix will be prepended to each row and padding adds the specified number of spaces between columns.
func (*UI) DisplayText ¶
DisplayText translates the template, substitutes in templateValues, and outputs the result to ui.Out. Only the first map in templateValues is used.
func (*UI) DisplayTextWithFlavor ¶
DisplayTextWithFlavor translates the template, bolds and adds cyan color to templateValues, substitutes templateValues into the template, and outputs the result to ui.Out. Only the first map in templateValues is used.
func (*UI) DisplayWarning ¶
DisplayWarning translates the warning, substitutes in templateValues, and outputs to ui.Err. Only the first map in templateValues is used.
func (*UI) DisplayWarnings ¶
DisplayWarnings translates the warnings and outputs to ui.Err.
func (*UI) TranslateText ¶
TranslateText passes the template through an internationalization function to translate it to a pre-configured language, and returns the template with templateValues substituted in. Only the first map in templateValues is used.