Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DatePickerQuestionTemplate = `` /* 537-byte string literal not displayed */
var MultiSelectQuestionTemplate = `` /* 1230-byte string literal not displayed */
var OctoEditorQuestionTemplate = `` /* 696-byte string literal not displayed */
var SelectQuestionTemplate = `` /* 1033-byte string literal not displayed */
Functions ¶
This section is empty.
Types ¶
type DatePicker ¶ added in v0.2.1
type DatePicker struct {
survey.Renderer
Message string
Default time.Time
Min time.Time
Max time.Time
Help string
AnswerFormatter func(*DatePicker, time.Time) string
OverrideNow time.Time // for unit testing; lets you override the definition of 'now'
// contains filtered or unexported fields
}
DatePicker is a prompt that presents a date/time picker. Response type is a time.Time
selectedTime := time.Time{}
prompt := &surveyext.DatePicker {
Message: "Choose a date and time:",
Default: time.Now(),
}
survey.AskOne(prompt, &selectedTime)
func (*DatePicker) Cleanup ¶ added in v0.2.1
func (d *DatePicker) Cleanup(config *survey.PromptConfig, val interface{}) error
func (*DatePicker) Error ¶ added in v0.2.1
func (d *DatePicker) Error(*survey.PromptConfig, error) error
func (*DatePicker) Now ¶ added in v0.2.1
func (d *DatePicker) Now() time.Time
Now returns the OverrideNow property (if it is set), else time.Now()
func (*DatePicker) Prompt ¶ added in v0.2.1
func (d *DatePicker) Prompt(config *survey.PromptConfig) (interface{}, error)
type DatePickerAnswer ¶ added in v0.2.1
DatePickerAnswer exists to workaround a survey bug (unintented code path?) where if the answer is a struct it thinks you're asking multiple questions and collecting the answers into struct fields. If you do this:
var answer time.Time
err = asker(&surveyext.DatePicker{ Message: "When?" }, &answer)
then the code in survey Write.go sees that the answer is a struct, and tries to go putting the response value into a named field on that struct (which doesn't exist). Workaround is to have a response-holder structure that implements survey.core.Settable
func (*DatePickerAnswer) WriteAnswer ¶ added in v0.2.1
func (a *DatePickerAnswer) WriteAnswer(_ string, value interface{}) error
type DatePickerTemplateData ¶ added in v0.2.1
type DatePickerTemplateData struct {
DatePicker
RawInput string // this is full of ansi escape sequences... It'd be nice to have survey's template thing render this, TODO attempt that later
Answer string
ShowAnswer bool
ShowHelp bool
SelectedComponent componentIdx
Config *survey.PromptConfig
}
type MultiSelectTemplateData ¶ added in v0.6.0
type MultiSelectTemplateData struct {
MultiSelectWithAdd
Answer string
ShowAnswer bool
Checked map[int]bool
SelectedIndex int
ShowHelp bool
PageEntries []core.OptionAnswer
Config *survey.PromptConfig
// These fields are used when rendering an individual option
CurrentOpt core.OptionAnswer
CurrentIndex int
}
data available to the templates when processing
func (MultiSelectTemplateData) IterateOption ¶ added in v0.6.0
func (m MultiSelectTemplateData) IterateOption(ix int, opt core.OptionAnswer) interface{}
IterateOption sets CurrentOpt and CurrentIndex appropriately so a multiselect option can be rendered individually
type MultiSelectWithAdd ¶ added in v0.6.0
type MultiSelectWithAdd struct {
survey.Renderer
Message string
Options []string
Default interface{}
Help string
PageSize int
VimMode bool
FilterMessage string
Filter func(filter string, value string, index int) bool
// contains filtered or unexported fields
}
MultiSelectWithAdd is a prompt that presents a list of various options to the user for them to select using the arrow keys and enter, typing allows the user to add new entries not in the list. Response type is a slice of strings.
days := []string{}
prompt := &survey.MultiSelect{
Message: "What days do you prefer:",
Options: []string{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"},
}
survey.AskOne(prompt, &days)
func (*MultiSelectWithAdd) Cleanup ¶ added in v0.6.0
func (m *MultiSelectWithAdd) Cleanup(config *survey.PromptConfig, val interface{}) error
Cleanup removes the options section, and renders the ask like a normal question.
func (*MultiSelectWithAdd) OnChange ¶ added in v0.6.0
func (m *MultiSelectWithAdd) OnChange(key rune, config *survey.PromptConfig)
OnChange is called on every keypress.
func (*MultiSelectWithAdd) Prompt ¶ added in v0.6.0
func (m *MultiSelectWithAdd) Prompt(config *survey.PromptConfig) (interface{}, error)
type OctoEditor ¶
type OctoEditor struct {
*survey.Editor
Optional bool
// contains filtered or unexported fields
}
func (*OctoEditor) Cleanup ¶
func (e *OctoEditor) Cleanup(config *survey.PromptConfig, val interface{}) error
func (*OctoEditor) Prompt ¶
func (e *OctoEditor) Prompt(config *survey.PromptConfig) (interface{}, error)
func (*OctoEditor) PromptAgain ¶
func (e *OctoEditor) PromptAgain(config *survey.PromptConfig, invalid interface{}, err error) (interface{}, error)
type OctoEditorTemplateData ¶
type Select ¶ added in v0.5.0
type Select struct {
survey.Renderer
Message string
Options []string
Default interface{}
Help string
PageSize int
VimMode bool
FilterMessage string
Filter func(filter string, value string, index int) bool
Description func(value string, index int) string
// contains filtered or unexported fields
}
Select is a prompt that presents a list of various options to the user for them to select using the arrow keys and enter. Response type is a string.
color := ""
prompt := &survey.Select{
Message: "Choose a color:",
Options: []string{"red", "blue", "green"},
}
survey.AskOne(prompt, &color)
type SelectTemplateData ¶ added in v0.5.0
type SelectTemplateData struct {
Select
PageEntries []core.OptionAnswer
SelectedIndex int
Answer string
ShowAnswer bool
ShowHelp bool
Description func(value string, index int) string
Config *survey.PromptConfig
// These fields are used when rendering an individual option
CurrentOpt core.OptionAnswer
CurrentIndex int
}
SelectTemplateData is the data available to the templates when processing
func (SelectTemplateData) GetDescription ¶ added in v0.5.0
func (s SelectTemplateData) GetDescription(opt core.OptionAnswer) string
func (SelectTemplateData) IterateOption ¶ added in v0.5.0
func (s SelectTemplateData) IterateOption(ix int, opt core.OptionAnswer) interface{}
IterateOption sets CurrentOpt and CurrentIndex appropriately so a select option can be rendered individually