core

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 22, 2024 License: Apache-2.0, MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DisableColor = false

DisableColor can be used to make testing reliable

View Source
var TemplateFuncsNoColor = map[string]any{

	"color": func(color string) string {
		return ""
	},
}
View Source
var TemplateFuncsWithColor = map[string]any{

	"color": ansi.ColorCode,
}

Functions

func GetTemplatePair

func GetTemplatePair(tmpl string) ([2]*template.Template, error)

GetTemplatePair returns a pair of compiled templates where the first template is generated for user-facing output and the second is generated for use by the renderer. The second template does not contain any color escape codes, whereas the first template may or may not depending on DisableColor.

func IsFieldNotMatch

func IsFieldNotMatch(err error) (string, bool)

IsFieldNotMatch reports whether an "err" is caused by a non matching field. It returns the Question.Name that couldn't be matched with a destination field.

Usage:

if err := survey.Ask(qs, &v); err != nil {
	if name, ok := core.IsFieldNotMatch(err); ok {
		// name is the question name that did not match a field
	}
}

func RunTemplate

func RunTemplate(tmpl string, data any) (string, string, error)

RunTemplate returns two formatted strings given a template and the data it requires. The first string returned is generated for user-facing output and may or may not contain ANSI escape codes for colored output. The second string does not contain escape codes and can be used by the renderer for layout purposes.

func WriteAnswer

func WriteAnswer(t any, name string, v any) (err error)

Types

type OptionAnswer

type OptionAnswer struct {
	Value string
	Index int
}

OptionAnswer is the return type of Selects/MultiSelects that lets the appropriate information get copied to the user's struct

func OptionAnswerList

func OptionAnswerList(incoming []string) []OptionAnswer

type Settable

type Settable interface {
	WriteAnswer(field string, value any) error
}

Settable allow for configuration when assigning answers

Notes

Bugs

  • the current implementation might cause weird conflicts if there are two fields with same name that only differ by casing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL