cli

package module
v0.19.1 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2024 License: MIT Imports: 27 Imported by: 0

README

CLI

A Go lib to create CLI applications, inspired by symfony/console, illuminate/console, and spf13/cobra.

This was created as an exercise to learn Go, and for personal usage.

Work in progress.

Documentation

Index

Constants

View Source
const (
	FormText = iota
	FormTextArea
	FormArray
	FormSelect
	FormMultiselect
	FormConfirm
	FormWait
	FormPause
)
View Source
const (
	ThemeBlock = "block"
	ThemeIcon  = "icon"
)
View Source
const (
	VerbosityQuiet       uint = 16
	VerbosityNormal      uint = 32
	VerbosityVerbose     uint = 64
	VerbosityVeryVerbose uint = 128
	VerbosityDebug       uint = 256
)
View Source
const (
	OutputNormal uint = 1
	OutputRaw    uint = 2
	OutputPlain  uint = 4
)
View Source
const (
	PromptStateInitial = iota
	PromptStateActive
	PromptStateSubmit
	PromptStateCancel
	PromptStateError
	PromptStateSearching
	PromptStateDeleting
)
View Source
const (
	CbarBell     = "\x07"
	CharNewline  = "\x0a"
	CharTab      = "\x09"
	CharSpace    = " "
	CharEllipsis = "…"
)
View Source
const (
	BoxTopLeft        = "┌"
	BoxTopRight       = "┐"
	BoxBottomLeft     = "└"
	BoxBottomRight    = "┘"
	BoxVertical       = "│"
	BoxVerticalRight  = "├"
	BoxVerticalLeft   = "┤"
	BoxHorizontal     = "─"
	BoxHorizontalDown = "┬"
	BoxHorizontalUp   = "┴"
	BoxCross          = "┼"
)
View Source
const (
	HeavyBoxTopLeft        = "┏"
	HeavyBoxTopRight       = "┓"
	HeavyBoxBottomLeft     = "┗"
	HeavyBoxBottomRight    = "┛"
	HeavyBoxVertical       = "┃"
	HeavyBoxVerticalRight  = "┣"
	HeavyBoxVerticalLeft   = "┫"
	HeavyBoxHorizontal     = "━"
	HeavyBoxHorizontalDown = "┳"
	HeavyBoxHorizontalUp   = "┻"
	HeavyBoxCross          = "╋"
)
View Source
const (
	DoubleBoxTopLeft        = "╔"
	DoubleBoxTopRight       = "╗"
	DoubleBoxBottomLeft     = "╚"
	DoubleBoxBottomRight    = "╝"
	DoubleBoxVertical       = "║"
	DoubleBoxVerticalRight  = "╠"
	DoubleBoxVerticalLeft   = "╣"
	DoubleBoxHorizontal     = "═"
	DoubleBoxHorizontalDown = "╦"
	DoubleBoxHorizontalUp   = "╩"
	DoubleBoxCross          = "╬"
)
View Source
const (
	RoundedBoxTopLeft        = "╭"
	RoundedBoxTopRight       = "╮"
	RoundedBoxBottomLeft     = "╰"
	RoundedBoxBottomRight    = "╯"
	RoundedBoxVertical       = "│"
	RoundedBoxVerticalRight  = "├"
	RoundedBoxVerticalLeft   = "┤"
	RoundedBoxHorizontal     = "─"
	RoundedBoxHorizontalDown = "┬"
	RoundedBoxHorizontalUp   = "┴"
	RoundedBoxCross          = "┼"
)
View Source
const (
	ArrowRight     = "→"
	ArrowLeft      = "←"
	ArrowUp        = "↑"
	ArrowDown      = "↓"
	ArrowLeftRight = "↔"
	ArrowUpDown    = "↕"
)
View Source
const (
	TriangleRight = "▶"
	TriangleLeft  = "◀"
	TriangleUp    = "▲"
	TriangleDown  = "▼"
)
View Source
const (
	SmallTriangleRight = "▸"
	SmallTriangleLeft  = "◂"
	SmallTriangleUp    = "▴"
	SmallTriangleDown  = "▾"
)
View Source
const (
	LineDiagonalCross         = "╳"
	LineDiagonalbackwards     = "╲"
	LineDiagonal              = "╱"
	LineVerticalDashed        = "┆"
	LineVerticalDashedHeavy   = "┇"
	LineVertical              = "│"
	LineVerticalHeavy         = "┃"
	LineHorizontalDashed      = "┄"
	LineHorizontalDashedHeavy = "┅"
	LineHorizontal            = "─"
	LineHorizontalHeavy       = "━"
)
View Source
const (
	CircleFilled        = "●"
	CircleOutline       = "◯"
	CircleOutlineFilled = "◉"
	CircleDotted        = "◌"
	CircleDoubled       = "◎"
	CircleSmall         = "•"
	CircleHalfLeft      = "◐"
	CircleHalfTop       = "◓"
	CircleHalfRight     = "◑"
	CircleHalfBottom    = "◒"
)
View Source
const (
	ChevronDefault = ""
	ChevronSmall   = "›"
	ChevronHeavy   = "❯"
)
View Source
const (
	DiamondDefault = "◆"
	DiamondOutline = "◇"
)
View Source
const (
	SquareDefault = "■"
	SquareOutline = "☐"
	SquareCrossed = "☒"
)
View Source
const (
	HeartDefault = "❤︎"
	HeartOutline = "♥"
)
View Source
const (
	IconTick        = "✓"
	IconTickSwoosh  = "✔"
	IconCross       = "✖"
	IconCrossSwoosh = "✘"
	IconHome        = "⌂"
	IconNote        = "♪"
	IconWarning     = "⚠"
	IconInfo        = "ℹ"
	IconStar        = "★"
)
View Source
const (
	ShadeLight  = "░"
	ShadeMedium = "▒"
	ShadeHeavy  = "▓"
)
View Source
const (
	SeparatorTop                 = 0
	SeparatorTopBottom           = 1
	SeparatorMid                 = 2
	SeparatorBottom              = 3
	BorderOutside                = 0
	BorderInside                 = 1
	DisplayOrientationDefault    = "default"
	DisplayOrientationHorizontal = "horizontal"
	DisplayOrientationVertical   = "vertical"
	TableCellAlignLeft           = "left"
	TableCellAlignRight          = "right"
	TableCellAlignCenter         = "center"
	DefaultTableCellAlign        = TableCellAlignLeft
)
View Source
const ChoiceQuestionDefaultErrorMessage = `Value "%s" is invalid`
View Source
const ChoiceQuestionDefaultPrompt = " <fg=green>?</> "

Variables

View Source
var CircleSpinner []string = []string{"◐", "◓", "◑", "◒"}
View Source
var DotSpinner []string = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"}
View Source
var ErrCancelledSpinner = errors.New("cancelled")
View Source
var TrueAnswerRegex = regexp.MustCompile("(?i)^y")

Functions

func AddTheme added in v0.13.0

func AddTheme(set string, tag string, theme *Theme)

func AddThemeSet added in v0.19.1

func AddThemeSet(name string, themeSet map[string]*Theme)

func ArgSetValue added in v0.18.0

func ArgSetValue(arg Arg, token string)

func Ask

func Ask[T any](i *Input, o *Output, question QuestionInterface) (T, error)

func BgBlack

func BgBlack(text string) string

func BgBlue

func BgBlue(text string) string

func BgCyan

func BgCyan(text string) string

func BgGreen

func BgGreen(text string) string

func BgMagenta

func BgMagenta(text string) string

func BgRed

func BgRed(text string) string

func BgWhite

func BgWhite(text string) string

func BgYellow

func BgYellow(text string) string

func Black

func Black(text string) string

func Blue

func Blue(text string) string

func Bold

func Bold(text string) string

func ColorMode

func ColorMode() uint8

func ConvertFromHexToAnsiColorCode

func ConvertFromHexToAnsiColorCode(mode uint8, hexColor string) (string, error)

func CreateForm added in v0.18.0

func CreateForm(i *Input, o *Output, first *FormStep, steps ...*FormStep) form

func Cyan

func Cyan(text string) string

func Dim

func Dim(text string) string

func Escape

func Escape(s string) string

func EscapeTrailingBackslash

func EscapeTrailingBackslash(s string) string

func FlagAcceptsValue added in v0.18.0

func FlagAcceptsValue(f Flag) bool

func FlagEquals added in v0.18.0

func FlagEquals(f1 Flag, f2 Flag) bool

func FlagHasDefaultValue added in v0.18.0

func FlagHasDefaultValue(f Flag) bool

func FlagIsArray added in v0.18.0

func FlagIsArray(f Flag) bool

func FlagIsNegatable added in v0.18.0

func FlagIsNegatable(f Flag) bool

func FlagRequiresValue added in v0.18.0

func FlagRequiresValue(f Flag) bool

func FlagType added in v0.18.0

func FlagType(f Flag) uint

func FlagValueIsOptional added in v0.18.0

func FlagValueIsOptional(f Flag) bool

func FormatBlock

func FormatBlock(messages []string, style string, large bool) string

func FormatSection

func FormatSection(section string, message string, style string) string

func GetArgArrayValue added in v0.18.0

func GetArgArrayValue(arg Arg) []string

func GetArgStringValue added in v0.18.0

func GetArgStringValue(arg Arg) string

func GetFlagArrayValue added in v0.18.0

func GetFlagArrayValue(f any) []string

func GetFlagBoolValue added in v0.18.0

func GetFlagBoolValue(f any) bool

func GetFlagStringValue added in v0.18.0

func GetFlagStringValue(f any) string

func GetStyleTags added in v0.19.1

func GetStyleTags() []string

func Gray

func Gray(text string) string

func Green

func Green(text string) string

func HasColorSupport

func HasColorSupport() bool

func Hidden

func Hidden(text string) string

func Inverse

func Inverse(text string) string

func Italic

func Italic(text string) string

func Longest added in v0.19.1

func Longest(lines []string, minWidth int, padding int) int

func Magenta

func Magenta(text string) string

func MbSplit added in v0.19.1

func MbSplit(s string, length int) []string

func MbSubstr added in v0.19.1

func MbSubstr(s string, start int, length int) string

func Pad added in v0.19.1

func Pad(text string, length int, char string) string

Pads while ignoring escape sequences

func PadCenter added in v0.19.1

func PadCenter(text string, length int, char string) string

func PadEnd added in v0.19.1

func PadEnd(text string, length int, char string) string

func PadStart added in v0.19.1

func PadStart(text string, length int, char string) string

func Red

func Red(text string) string

func RegisterTableStyle added in v0.16.0

func RegisterTableStyle(name string, style *TableStyle)

func RenderSpinner added in v0.12.0

func RenderSpinner(s *Spinner) string

func Reset

func Reset(text string) string

func ScrollBar

func ScrollBar(visible []string, firstVisible int, height int, total int, width int, color string) []string

func SetBaseTheme added in v0.15.0

func SetBaseTheme(primary string, accent string)

func SetCurrentThemeSet added in v0.19.1

func SetCurrentThemeSet(name string)

func SetFlagValue added in v0.18.0

func SetFlagValue(f Flag, str string, boolean bool)

func Strikethrough

func Strikethrough(text string) string

func StrimWidth added in v0.19.1

func StrimWidth(str string, start int, width int, trimMarker string) string

func StringToInputArgs

func StringToInputArgs(cmd string) []string

func StripEscapeSequences added in v0.19.1

func StripEscapeSequences(text string) string

func TerminalHeight

func TerminalHeight() (int, error)

func TerminalIsInteractive

func TerminalIsInteractive() bool

func TerminalSize

func TerminalSize() (int, int, error)

func TerminalWidth

func TerminalWidth() (int, error)

func TrimWidthBackwards added in v0.19.1

func TrimWidthBackwards(str string, start int, width int) string

func Truncate

func Truncate(message string, length int, suffix string) string

func TruncateStart added in v0.19.1

func TruncateStart(text string, width int) string

func Underline

func Underline(text string) string

func ValidateArg added in v0.18.0

func ValidateArg(arg Arg) error

func ValidateFlag added in v0.18.0

func ValidateFlag(f Flag) error

func White

func White(text string) string

func Yellow

func Yellow(text string) string

Types

type AnyFunc added in v0.12.0

type AnyFunc func() any

type Application

type Application struct {
	Name           string
	Version        string
	LongVersion    string
	DefaultCommand string
	Debug          bool
	Commands       []*Command
	CatchErrors    bool
	AutoExit       bool
	SingleCommand  bool
	// contains filtered or unexported fields
}

func (*Application) Abbreviations

func (app *Application) Abbreviations(names []string) map[string][]string

func (*Application) Add

func (app *Application) Add(commands ...*Command)

func (*Application) AddCommands

func (app *Application) AddCommands(commands []*Command)

func (*Application) All

func (app *Application) All(namespace string) map[string]*Command

func (*Application) Definition

func (app *Application) Definition() *InputDefinition

func (*Application) ExitCode added in v0.18.0

func (app *Application) ExitCode() int

func (*Application) ExtractNamespace

func (app *Application) ExtractNamespace(name string, limit int) string

func (*Application) Find

func (app *Application) Find(name string) (*Command, error)

func (*Application) FindNamespace

func (app *Application) FindNamespace(namespace string) (string, error)

func (*Application) Get

func (app *Application) Get(name string) (*Command, error)

func (*Application) Has

func (app *Application) Has(name string) bool

func (*Application) Help

func (app *Application) Help() string

func (*Application) Namespaces

func (app *Application) Namespaces() []string

func (*Application) RenderError

func (app *Application) RenderError(o *Output, err error)

func (*Application) Run

func (app *Application) Run(args ...string) error

func (*Application) RunWith

func (app *Application) RunWith(i *Input, o *Output) (err error)

func (*Application) SetDefaultCommand

func (app *Application) SetDefaultCommand(commandName string, isSingleCommand bool) error

func (*Application) SetDefinition

func (app *Application) SetDefinition(definition *InputDefinition)

type ApplicationDescription

type ApplicationDescription struct {
	Application *Application
	Namespace   string
	ShowHidden  bool
	// contains filtered or unexported fields
}

func (*ApplicationDescription) Command

func (d *ApplicationDescription) Command(name string) (*Command, error)

func (*ApplicationDescription) Commands

func (d *ApplicationDescription) Commands() map[string]*Command

func (*ApplicationDescription) Namespaces

func (d *ApplicationDescription) Namespaces() map[string]*NamespaceCommands

type Arg added in v0.18.0

type Arg interface {
	GetName() string
	GetDescription() string
	IsRequired() bool
	HasValue() bool
}

type ArrayArg added in v0.18.0

type ArrayArg struct {
	Name        string
	Description string
	Value       []string
	Min         uint
	Validator   func([]string) error
}

func (*ArrayArg) GetDescription added in v0.18.0

func (a *ArrayArg) GetDescription() string

func (*ArrayArg) GetName added in v0.18.0

func (a *ArrayArg) GetName() string

func (*ArrayArg) HasValue added in v0.18.0

func (a *ArrayArg) HasValue() bool

func (*ArrayArg) IsRequired added in v0.18.0

func (a *ArrayArg) IsRequired() bool

type ArrayFlag added in v0.18.0

type ArrayFlag struct {
	Name        string
	Shortcuts   []string
	Description string
	Value       []string
	Validator   func([]string) error
}

func (*ArrayFlag) GetDescription added in v0.18.0

func (f *ArrayFlag) GetDescription() string

func (*ArrayFlag) GetName added in v0.18.0

func (f *ArrayFlag) GetName() string

func (*ArrayFlag) GetShortcutString added in v0.18.0

func (f *ArrayFlag) GetShortcutString() string

func (*ArrayFlag) GetShortcuts added in v0.18.0

func (f *ArrayFlag) GetShortcuts() []string

func (*ArrayFlag) HasValue added in v0.19.0

func (f *ArrayFlag) HasValue() bool

type ArrayPrompt added in v0.18.0

type ArrayPrompt struct {
	*TextPrompt
	Label        string
	Placeholder  string
	DefaultValue string
	Hint         string
	Values       []string
	// contains filtered or unexported fields
}

func NewArrayPrompt added in v0.18.0

func NewArrayPrompt(i *Input, o *Output, label string, defaultValue []string) *ArrayPrompt

func (*ArrayPrompt) Render added in v0.18.0

func (p *ArrayPrompt) Render() ([]string, error)

func (*ArrayPrompt) String added in v0.18.0

func (p *ArrayPrompt) String() string

type AvailableOption

type AvailableOption struct {
	// contains filtered or unexported fields
}

type BoolFlag added in v0.18.0

type BoolFlag struct {
	Name        string
	Shortcuts   []string
	Description string
	Value       bool
	Negatable   bool
	Validator   func(bool) error
}

func (*BoolFlag) GetDescription added in v0.18.0

func (f *BoolFlag) GetDescription() string

func (*BoolFlag) GetName added in v0.18.0

func (f *BoolFlag) GetName() string

func (*BoolFlag) GetShortcutString added in v0.18.0

func (f *BoolFlag) GetShortcutString() string

func (*BoolFlag) GetShortcuts added in v0.18.0

func (f *BoolFlag) GetShortcuts() []string

func (*BoolFlag) HasValue added in v0.19.0

func (f *BoolFlag) HasValue() bool

type ChildProcess

type ChildProcess struct {
	Cmd     string
	Args    []string
	Shell   string
	Pipe    bool
	Inherit bool
	Stdin   *os.File
	Stdout  *os.File
	Stderr  *os.File

	Env []string
	// contains filtered or unexported fields
}

func (*ChildProcess) AddEnv added in v0.14.0

func (cp *ChildProcess) AddEnv(name string, value string)

func (*ChildProcess) Run

func (cp *ChildProcess) Run() (string, error)

func (*ChildProcess) Start

func (cp *ChildProcess) Start() error

func (*ChildProcess) String added in v0.14.1

func (cp *ChildProcess) String() string

func (*ChildProcess) Wait

func (cp *ChildProcess) Wait() error

type ChoiceQuestion

type ChoiceQuestion struct {
	*Question[string]
	Prompt string

	Choices map[string]string
	// contains filtered or unexported fields
}

func (*ChoiceQuestion) DefaultValidator

func (cq *ChoiceQuestion) DefaultValidator() QuestionValidator[string]

func (*ChoiceQuestion) SetErrorMessage

func (cq *ChoiceQuestion) SetErrorMessage(message string)

type Color

type Color struct {
	Foreground string
	Background string
	Options    []string
	// contains filtered or unexported fields
}

func (*Color) Apply

func (c *Color) Apply(text string) string

func (*Color) Set

func (c *Color) Set() string

func (*Color) Unset

func (c *Color) Unset() string

type Command

type Command struct {
	Run         CommandHandle
	RunE        CommandHandleE
	Initializer CommandInitializer
	Interacter  CommandInteracter

	Name        string
	Description string
	Aliases     []string
	Help        string
	Signature   string
	Flags       []Flag
	Arguments   []Arg
	Debug       bool

	Hidden bool

	IgnoreValidationErrors bool
	// contains filtered or unexported fields
}

func (*Command) AddArgument

func (c *Command) AddArgument(arg Arg) *Command

func (*Command) AddFlag added in v0.18.0

func (c *Command) AddFlag(flag Flag) *Command

func (*Command) AddUsage

func (c *Command) AddUsage(usage string) *Command

func (*Command) ApplicationDefinition

func (c *Command) ApplicationDefinition() *InputDefinition

func (*Command) Definition

func (c *Command) Definition() *InputDefinition

func (*Command) Execute added in v0.18.0

func (c *Command) Execute(args ...string) (int, error)

func (*Command) ExecuteWith added in v0.18.0

func (c *Command) ExecuteWith(i *Input, o *Output) (int, error)

func (*Command) IsEnabled

func (c *Command) IsEnabled() bool

func (*Command) MergeApplication

func (c *Command) MergeApplication(mergeArgs bool)

func (*Command) NativeDefinition

func (c *Command) NativeDefinition() *InputDefinition

func (*Command) ProcessedHelp

func (c *Command) ProcessedHelp() string

func (*Command) SetAliases

func (c *Command) SetAliases(aliases []string) *Command

func (*Command) SetApplicationDefinition

func (c *Command) SetApplicationDefinition(definition *InputDefinition)

func (*Command) SetDefinition

func (c *Command) SetDefinition(definition *InputDefinition)

func (*Command) SetDescription

func (c *Command) SetDescription(description string) *Command

func (*Command) SetHelp

func (c *Command) SetHelp(help string) *Command

func (*Command) SetHidden

func (c *Command) SetHidden(hidden bool) *Command

func (*Command) SetName

func (c *Command) SetName(name string) *Command

func (*Command) Synopsis

func (c *Command) Synopsis(short bool) string

func (*Command) Usages

func (c *Command) Usages() []string

type CommandHandle

type CommandHandle func(ctx *Ctx)

type CommandHandleE added in v0.18.0

type CommandHandleE func(ctx *Ctx) error

type CommandInitializer

type CommandInitializer func(i *Input, o *Output)

type CommandInteracter

type CommandInteracter func(i *Input, o *Output)

type CommandNotFoundError

type CommandNotFoundError struct {
	// contains filtered or unexported fields
}

func (*CommandNotFoundError) Alternatives

func (e *CommandNotFoundError) Alternatives() []string

func (*CommandNotFoundError) Error

func (e *CommandNotFoundError) Error() string

type ConfirmPrompt added in v0.18.0

type ConfirmPrompt struct {
	*Prompt
	Label        string
	DefaultValue bool
	Yes          string
	No           string
	Hint         string
	Confirmed    bool
}

func NewConfirmPrompt added in v0.18.0

func NewConfirmPrompt(i *Input, o *Output, label string) *ConfirmPrompt

func (*ConfirmPrompt) Render added in v0.18.0

func (cp *ConfirmPrompt) Render() (bool, error)

func (*ConfirmPrompt) String added in v0.18.0

func (cp *ConfirmPrompt) String() string

type ConfirmationQuestion

type ConfirmationQuestion struct {
	*Question[bool]
	// contains filtered or unexported fields
}

func (*ConfirmationQuestion) DefaultNormalizer

func (q *ConfirmationQuestion) DefaultNormalizer() QuestionNormalizer[bool]

type ConsoleSectionOutput added in v0.16.0

type ConsoleSectionOutput struct {
	*Output
	// contains filtered or unexported fields
}

func NewConsoleSectionOutput added in v0.16.0

func NewConsoleSectionOutput(o *Output, sections []*ConsoleSectionOutput) *ConsoleSectionOutput

func (*ConsoleSectionOutput) AddContent added in v0.16.0

func (c *ConsoleSectionOutput) AddContent(input string, newLine bool) int

func (*ConsoleSectionOutput) AddNewLineOfInputSubmit added in v0.16.0

func (c *ConsoleSectionOutput) AddNewLineOfInputSubmit()

func (*ConsoleSectionOutput) Clear added in v0.16.0

func (c *ConsoleSectionOutput) Clear(lines int)

func (*ConsoleSectionOutput) Content added in v0.16.0

func (c *ConsoleSectionOutput) Content() string

func (*ConsoleSectionOutput) DoWrite added in v0.16.0

func (c *ConsoleSectionOutput) DoWrite(message string, newLine bool)

func (*ConsoleSectionOutput) Overwrite added in v0.16.0

func (c *ConsoleSectionOutput) Overwrite(message string)

func (*ConsoleSectionOutput) OverwriteMany added in v0.16.0

func (c *ConsoleSectionOutput) OverwriteMany(message []string)

func (*ConsoleSectionOutput) SetMaxHeight added in v0.16.0

func (c *ConsoleSectionOutput) SetMaxHeight(maxHeight int)

func (*ConsoleSectionOutput) VisibleContent added in v0.16.0

func (c *ConsoleSectionOutput) VisibleContent() string

type Ctx added in v0.18.0

type Ctx struct {
	Input  *Input
	Output *Output
	Args   []string
	Code   int
	Debug  bool
	// contains filtered or unexported fields
}

func (*Ctx) Alert added in v0.18.0

func (c *Ctx) Alert(messages ...string)

func (*Ctx) Array added in v0.18.0

func (c *Ctx) Array(name string) []string

func (*Ctx) Ask added in v0.18.0

func (c *Ctx) Ask(question string, defaultValue string) (string, error)

func (*Ctx) Bool added in v0.18.0

func (c *Ctx) Bool(name string) bool

func (*Ctx) ChildProcess added in v0.18.0

func (c *Ctx) ChildProcess(cmd string) *ChildProcess

func (*Ctx) Choice added in v0.18.0

func (c *Ctx) Choice(question string, choices map[string]string, defaultValue string) (string, error)

func (*Ctx) Comment added in v0.18.0

func (c *Ctx) Comment(messages ...string)

func (*Ctx) Confirm added in v0.18.0

func (c *Ctx) Confirm(question string, defaultValue bool) (bool, error)

func (*Ctx) Err added in v0.18.0

func (c *Ctx) Err(err error)

func (*Ctx) Error added in v0.18.0

func (c *Ctx) Error(messages ...string)

func (*Ctx) Exec added in v0.18.0

func (c *Ctx) Exec(cmd string, shell string, inherit bool) (string, error)

func (*Ctx) Info added in v0.18.0

func (c *Ctx) Info(messages ...string)

func (*Ctx) IsDebug added in v0.18.0

func (c *Ctx) IsDebug() bool

func (*Ctx) IsDecorated added in v0.18.0

func (c *Ctx) IsDecorated() bool

func (*Ctx) IsQuiet added in v0.18.0

func (c *Ctx) IsQuiet() bool

func (*Ctx) IsVerbose added in v0.18.0

func (c *Ctx) IsVerbose() bool

func (*Ctx) IsVeryVerbose added in v0.18.0

func (c *Ctx) IsVeryVerbose() bool

func (*Ctx) NewLine added in v0.18.0

func (c *Ctx) NewLine(count uint)

func (*Ctx) Note added in v0.19.0

func (c *Ctx) Note(messages ...string)

func (*Ctx) Ok added in v0.18.0

func (c *Ctx) Ok(messages ...string)

func (*Ctx) Spawn added in v0.18.0

func (c *Ctx) Spawn(cmd string, shell string, inherit bool) *ChildProcess

func (*Ctx) Spinner added in v0.18.0

func (c *Ctx) Spinner(fn func(), message string)

func (*Ctx) String added in v0.18.0

func (c *Ctx) String(name string) string

func (*Ctx) Success added in v0.19.0

func (c *Ctx) Success(messages ...string)

func (*Ctx) Warn added in v0.18.0

func (c *Ctx) Warn(messages ...string)

func (*Ctx) Write added in v0.18.0

func (c *Ctx) Write(message string)

func (*Ctx) Writef added in v0.18.0

func (c *Ctx) Writef(format string, a ...any)

func (*Ctx) Writeln added in v0.18.0

func (c *Ctx) Writeln(message string)

func (*Ctx) Writelnf added in v0.18.0

func (c *Ctx) Writelnf(format string, a ...any)

func (*Ctx) Writelns added in v0.18.0

func (c *Ctx) Writelns(messages []string)

type Cursor

type Cursor struct {
	Output *Output
	Input  *os.File
	// contains filtered or unexported fields
}

func (*Cursor) ClearLine

func (c *Cursor) ClearLine() *Cursor

func (*Cursor) ClearLineAfter

func (c *Cursor) ClearLineAfter() *Cursor

func (*Cursor) ClearOutput

func (c *Cursor) ClearOutput() *Cursor

func (*Cursor) ClearScreen

func (c *Cursor) ClearScreen() *Cursor

func (*Cursor) CurrentPosition

func (c *Cursor) CurrentPosition() (int, int)

func (*Cursor) Hide

func (c *Cursor) Hide() *Cursor

func (*Cursor) Move

func (c *Cursor) Move(x int, y int) *Cursor

func (*Cursor) MoveDown

func (c *Cursor) MoveDown(lines int) *Cursor

func (*Cursor) MoveLeft

func (c *Cursor) MoveLeft(columns int) *Cursor

func (*Cursor) MoveRight

func (c *Cursor) MoveRight(columns int) *Cursor

func (*Cursor) MoveToColumn

func (c *Cursor) MoveToColumn(column int) *Cursor

func (*Cursor) MoveToPosition

func (c *Cursor) MoveToPosition(column int, row int) *Cursor

func (*Cursor) MoveUp

func (c *Cursor) MoveUp(lines int) *Cursor

func (*Cursor) RestorePosition

func (c *Cursor) RestorePosition() *Cursor

func (*Cursor) SavePosition

func (c *Cursor) SavePosition() *Cursor

func (*Cursor) Show

func (c *Cursor) Show() *Cursor

type DescriptorOptions

type DescriptorOptions struct {
	// contains filtered or unexported fields
}

type ErrorWithAlternatives

type ErrorWithAlternatives interface {
	error
	Alternatives() []string
}

func CommandNotFound

func CommandNotFound(message string, alternatives []string) ErrorWithAlternatives

func NamespaceNotFound

func NamespaceNotFound(message string, alternatives []string) ErrorWithAlternatives

type Flag added in v0.18.0

type Flag interface {
	GetName() string
	GetShortcuts() []string
	GetShortcutString() string
	GetDescription() string
	HasValue() bool
}

type FormStep added in v0.18.0

type FormStep struct {
	Type        uint
	Label       string
	Placeholder string
	String      *string
	Required    bool
	Bool        *bool
	Array       *[]string
	Values      []string
	Labels      []string
	WaitFunc    func()
	// contains filtered or unexported fields
}

type Input

type Input struct {
	Stream *os.File

	Args []string
	// contains filtered or unexported fields
}

func NewInput

func NewInput(args ...string) *Input

func (*Input) Arguments

func (i *Input) Arguments() map[string]Arg

func (*Input) Array added in v0.18.0

func (i *Input) Array(name string) ([]string, error)

func (*Input) Bind

func (i *Input) Bind(definition *InputDefinition) error

func (*Input) Bool added in v0.18.0

func (i *Input) Bool(name string) (bool, error)

func (*Input) EscapeToken

func (i *Input) EscapeToken(token string) string

func (*Input) FirstArgument

func (i *Input) FirstArgument() string

func (*Input) HasArgument

func (i *Input) HasArgument(name string) bool

func (*Input) HasFlag added in v0.18.0

func (i *Input) HasFlag(name string) bool

func (*Input) HasParameterFlag added in v0.18.0

func (i *Input) HasParameterFlag(value string, onlyParams bool) bool

func (*Input) IsInteractive

func (i *Input) IsInteractive() bool

func (*Input) ParameterFlag added in v0.18.0

func (i *Input) ParameterFlag(value string, defaultValue InputType, onlyParams bool) InputType

func (*Input) SetArgument

func (i *Input) SetArgument(name string, token string) error

func (*Input) SetDefinition

func (i *Input) SetDefinition(definition *InputDefinition) error

func (*Input) SetFlag added in v0.18.0

func (i *Input) SetFlag(name string, str string, boolean bool) error

func (*Input) SetInteractive

func (i *Input) SetInteractive(interactive bool)

func (*Input) String

func (i *Input) String(name string) (string, error)

func (*Input) Validate

func (i *Input) Validate() error

type InputDefinition

type InputDefinition struct {
	// contains filtered or unexported fields
}

func (*InputDefinition) AddArgument

func (d *InputDefinition) AddArgument(argument Arg)

func (*InputDefinition) AddArguments

func (d *InputDefinition) AddArguments(arguments []Arg)

func (*InputDefinition) AddFlag added in v0.18.0

func (d *InputDefinition) AddFlag(flag Flag)

func (*InputDefinition) AddFlags added in v0.18.0

func (d *InputDefinition) AddFlags(flags []Flag)

func (*InputDefinition) Argument

func (d *InputDefinition) Argument(name string) (Arg, error)

func (*InputDefinition) ArgumentByIndex

func (d *InputDefinition) ArgumentByIndex(index uint) (Arg, error)

func (*InputDefinition) ArgumentCount

func (d *InputDefinition) ArgumentCount() uint

func (*InputDefinition) ArgumentRequiredCount

func (d *InputDefinition) ArgumentRequiredCount() uint

func (*InputDefinition) Flag added in v0.18.0

func (d *InputDefinition) Flag(name string) (Flag, error)

func (*InputDefinition) FlagForShortcut added in v0.18.0

func (d *InputDefinition) FlagForShortcut(shortcut string) (Flag, error)

func (*InputDefinition) GetArguments

func (d *InputDefinition) GetArguments() []Arg

func (*InputDefinition) GetFlags added in v0.18.0

func (d *InputDefinition) GetFlags() []Flag

func (*InputDefinition) HasArgument

func (d *InputDefinition) HasArgument(name string) bool

func (*InputDefinition) HasFlag added in v0.18.0

func (d *InputDefinition) HasFlag(name string) bool

func (*InputDefinition) HasNegation

func (d *InputDefinition) HasNegation(name string) bool

func (*InputDefinition) HasShortcut

func (d *InputDefinition) HasShortcut(name string) bool

func (*InputDefinition) NegationToName

func (d *InputDefinition) NegationToName(negation string) string

func (*InputDefinition) SetArguments

func (d *InputDefinition) SetArguments(arguments []Arg)

func (*InputDefinition) SetDefinition

func (d *InputDefinition) SetDefinition(arguments []Arg, flags []Flag)

func (*InputDefinition) SetFlags added in v0.18.0

func (d *InputDefinition) SetFlags(flags []Flag)

func (*InputDefinition) ShortcutToName

func (d *InputDefinition) ShortcutToName(shortcut string) string

func (*InputDefinition) Synopsis

func (d *InputDefinition) Synopsis(short bool) string

type InputParser

type InputParser func(self any) error

type InputType

type InputType any

type InputValidator

type InputValidator func(value InputType) error

type Listener added in v0.12.0

type Listener func(key string)

type NamespaceCommands

type NamespaceCommands struct {
	// contains filtered or unexported fields
}

type NamespaceNotFoundError

type NamespaceNotFoundError struct {
	// contains filtered or unexported fields
}

func (*NamespaceNotFoundError) Alternatives

func (e *NamespaceNotFoundError) Alternatives() []string

func (*NamespaceNotFoundError) Error

func (e *NamespaceNotFoundError) Error() string

type OptionalArrayFlag added in v0.18.0

type OptionalArrayFlag struct {
	Name        string
	Shortcuts   []string
	Description string
	Boolean     bool
	Value       []string
	Validator   func(bool, []string) error
}

func (*OptionalArrayFlag) GetDescription added in v0.18.0

func (f *OptionalArrayFlag) GetDescription() string

func (*OptionalArrayFlag) GetName added in v0.18.0

func (f *OptionalArrayFlag) GetName() string

func (*OptionalArrayFlag) GetShortcutString added in v0.18.0

func (f *OptionalArrayFlag) GetShortcutString() string

func (*OptionalArrayFlag) GetShortcuts added in v0.18.0

func (f *OptionalArrayFlag) GetShortcuts() []string

func (*OptionalArrayFlag) HasValue added in v0.19.0

func (f *OptionalArrayFlag) HasValue() bool

type OptionalStringFlag added in v0.18.0

type OptionalStringFlag struct {
	Name        string
	Shortcuts   []string
	Description string
	Boolean     bool
	Value       string
	Validator   func(bool, string) error
}

func (*OptionalStringFlag) GetDescription added in v0.18.0

func (f *OptionalStringFlag) GetDescription() string

func (*OptionalStringFlag) GetName added in v0.18.0

func (f *OptionalStringFlag) GetName() string

func (*OptionalStringFlag) GetShortcutString added in v0.18.0

func (f *OptionalStringFlag) GetShortcutString() string

func (*OptionalStringFlag) GetShortcuts added in v0.18.0

func (f *OptionalStringFlag) GetShortcuts() []string

func (*OptionalStringFlag) HasValue added in v0.19.0

func (f *OptionalStringFlag) HasValue() bool

type Output

type Output struct {
	Stream *os.File
	Stderr *Output
	// contains filtered or unexported fields
}

func NewOutput

func NewOutput(input *Input) *Output

func (*Output) Ask

func (o *Output) Ask(question string, defaultValue string, validator func(string) (string, error)) (string, error)

func (*Output) AskHidden

func (o *Output) AskHidden(question string, validator func(string) (string, error)) (string, error)

func (*Output) Block added in v0.11.0

func (o *Output) Block(messages []string, tag string, escape bool)

func (*Output) Box

func (o *Output) Box(title string, body string, footer string, color string, info string)

TODO: impl

func (*Output) Caution

func (o *Output) Caution(messages ...string)

func (*Output) Choice

func (o *Output) Choice(question string, choices map[string]string, defaultValue string) (string, error)

func (*Output) Comment added in v0.11.0

func (o *Output) Comment(messages ...string)

func (*Output) Confirm

func (o *Output) Confirm(q string, defaultValue bool) (bool, error)

func (*Output) CreateTable added in v0.16.0

func (o *Output) CreateTable(headers []string, rows [][]*TableCell, options *TableOptions) *Table

func (*Output) CreateTableRowsFromMaps added in v0.16.0

func (o *Output) CreateTableRowsFromMaps(headers []string, rows []map[string]any) [][]*TableCell

func (*Output) CreateTableRowsFromSlices added in v0.16.0

func (o *Output) CreateTableRowsFromSlices(rows [][]any) [][]*TableCell

func (*Output) DoWrite

func (o *Output) DoWrite(message string, newLine bool)

func (*Output) Err

func (o *Output) Err(err error)

func (*Output) Error added in v0.19.0

func (o *Output) Error(messages ...string)

func (*Output) Formatter

func (o *Output) Formatter() *OutputFormatter

func (*Output) Info

func (o *Output) Info(messages ...string)

func (*Output) IsDebug

func (o *Output) IsDebug() bool

func (*Output) IsDecorated

func (o *Output) IsDecorated() bool

func (*Output) IsQuiet

func (o *Output) IsQuiet() bool

func (*Output) IsVerbose

func (o *Output) IsVerbose() bool

func (*Output) IsVeryVerbose

func (o *Output) IsVeryVerbose() bool

func (*Output) Listing

func (o *Output) Listing(elements []string, prefix string)

func (*Output) NewLine

func (o *Output) NewLine(count int)

func (*Output) Note

func (o *Output) Note(messages ...string)

func (*Output) Ok added in v0.19.0

func (o *Output) Ok(messages ...string)

func (*Output) ProgressAdvance

func (o *Output) ProgressAdvance(step uint)

TODO: impl

func (*Output) ProgressFinish

func (o *Output) ProgressFinish()

TODO: impl

func (*Output) ProgressStart

func (o *Output) ProgressStart(max uint)

TODO: impl

func (*Output) Section

func (o *Output) Section(message string)

func (*Output) SetDecorated

func (o *Output) SetDecorated(decorated bool)

func (*Output) SetFormatter

func (o *Output) SetFormatter(formatter *OutputFormatter)

func (*Output) SetVerbosity

func (o *Output) SetVerbosity(verbose uint)

func (*Output) Success

func (o *Output) Success(messages ...string)

func (*Output) Table

func (o *Output) Table(headers []string, rows [][]*TableCell, options *TableOptions)

func (*Output) TableFromMap added in v0.16.0

func (o *Output) TableFromMap(rows []map[string]any, headers []string, options *TableOptions)

func (*Output) TableFromSlices added in v0.16.0

func (o *Output) TableFromSlices(headers []string, rows [][]any, options *TableOptions)

func (*Output) Text

func (o *Output) Text(messages ...string)

func (*Output) Title

func (o *Output) Title(message string)

func (*Output) Verbosity

func (o *Output) Verbosity() uint

func (*Output) Warning

func (o *Output) Warning(messages ...string)

func (*Output) Write

func (o *Output) Write(message string, newLine bool, options uint)

func (*Output) WriteMany

func (o *Output) WriteMany(messages []string, newLine bool, options uint)

func (*Output) Writeln

func (o *Output) Writeln(s string, options uint)

func (*Output) Writelnf added in v0.12.0

func (o *Output) Writelnf(f string, options uint, args ...any)

func (*Output) Writelns

func (o *Output) Writelns(s []string, options uint)

type OutputFormatter

type OutputFormatter struct {
	Decorated  bool
	Styles     map[string]*OutputFormatterStyle
	StyleStack *OutputFormatterStyleStack
}

func (*OutputFormatter) Clone

func (o *OutputFormatter) Clone() *OutputFormatter

func (*OutputFormatter) Format

func (o *OutputFormatter) Format(message string) string

func (*OutputFormatter) FormatAndWrap

func (o *OutputFormatter) FormatAndWrap(message string, width int) string

func (*OutputFormatter) HasStyle

func (o *OutputFormatter) HasStyle(name string) bool

func (*OutputFormatter) RemoveDecoration

func (o *OutputFormatter) RemoveDecoration(str string) string

func (*OutputFormatter) SetStyle

func (o *OutputFormatter) SetStyle(name string, style *OutputFormatterStyle)

func (*OutputFormatter) Style

func (o *OutputFormatter) Style(name string) (*OutputFormatterStyle, error)

type OutputFormatterStyle

type OutputFormatterStyle struct {
	// contains filtered or unexported fields
}

func NewOutputFormatterStyle

func NewOutputFormatterStyle(foreground string, background string, options []string) *OutputFormatterStyle

func (*OutputFormatterStyle) Apply

func (s *OutputFormatterStyle) Apply(text string) string

func (*OutputFormatterStyle) Clone

func (*OutputFormatterStyle) SetBackground

func (s *OutputFormatterStyle) SetBackground(c string)

func (*OutputFormatterStyle) SetForeground

func (s *OutputFormatterStyle) SetForeground(c string)

func (*OutputFormatterStyle) SetHref

func (s *OutputFormatterStyle) SetHref(href string)

func (*OutputFormatterStyle) SetOption

func (s *OutputFormatterStyle) SetOption(option string)

func (*OutputFormatterStyle) SetOptions

func (s *OutputFormatterStyle) SetOptions(options []string)

func (*OutputFormatterStyle) UnsetOption

func (s *OutputFormatterStyle) UnsetOption(option string)

type OutputFormatterStyleStack

type OutputFormatterStyleStack struct {
	Styles     []*OutputFormatterStyle
	EmptyStyle *OutputFormatterStyle
}

func (*OutputFormatterStyleStack) Clone

func (*OutputFormatterStyleStack) Current

func (*OutputFormatterStyleStack) Pop

func (*OutputFormatterStyleStack) Push

func (*OutputFormatterStyleStack) Reset

func (s *OutputFormatterStyleStack) Reset()

type OutputTheme

type OutputTheme map[string]*OutputFormatterStyle

type PausePrompt added in v0.18.0

type PausePrompt struct {
	*Prompt
	Message string
}

func NewPausePrompt added in v0.18.0

func NewPausePrompt(i *Input, o *Output, message string) *PausePrompt

func (*PausePrompt) Render added in v0.18.0

func (p *PausePrompt) Render() (bool, error)

func (*PausePrompt) String added in v0.18.0

func (p *PausePrompt) String() string

type Prompt added in v0.12.0

type Prompt struct {
	Name          string
	State         uint
	Error         string
	CancelMessage string
	Required      bool
	Validator     func(string) string
	Value         func() string
	Scroll        int
	Highlighted   int
	FirstVisible  int
	DefaultValue  string
	Input         *Input
	Output        *Output

	CancelUsingFn   AnyFunc
	ValidateUsingFn func(any) string
	RevertUsingFn   AnyFunc
	// contains filtered or unexported fields
}

func NewPrompt added in v0.12.0

func NewPrompt(name string, i *Input, o *Output) *Prompt

func (*Prompt) ClearListeners added in v0.18.0

func (p *Prompt) ClearListeners()

func (*Prompt) Fallback added in v0.12.0

func (p *Prompt) Fallback() string

func (*Prompt) Restore added in v0.12.0

func (p *Prompt) Restore()

func (*Prompt) ShouldFallback added in v0.12.0

func (p *Prompt) ShouldFallback() bool

type Question

type Question[T any] struct {
	Query           string
	Attempts        int
	Hidden          bool
	HiddenFallback  bool
	Validator       QuestionValidator[T]
	Normalizer      QuestionNormalizer[T]
	PreventTrimming bool
	Multiline       bool
	DefaultValue    T
}

func (*Question[any]) DefaultNormalizer

func (q *Question[any]) DefaultNormalizer() QuestionNormalizer[any]

func (*Question[any]) DefaultValidator

func (q *Question[any]) DefaultValidator() QuestionValidator[any]

func (*Question[any]) IsQuestion

func (q *Question[any]) IsQuestion() bool

type QuestionInterface

type QuestionInterface interface {
	IsQuestion() bool
}

type QuestionNormalizer

type QuestionNormalizer[T any] func(string) T

type QuestionValidator

type QuestionValidator[T any] func(T) (T, error)

type Renderer added in v0.12.0

type Renderer struct {
	// contains filtered or unexported fields
}

func NewRenderer added in v0.12.0

func NewRenderer() *Renderer

func (*Renderer) Err added in v0.12.0

func (r *Renderer) Err(message string)

func (*Renderer) Hint added in v0.12.0

func (r *Renderer) Hint(message string)

func (*Renderer) Line added in v0.12.0

func (r *Renderer) Line(message string, newLine bool)

func (*Renderer) NewLine added in v0.12.0

func (r *Renderer) NewLine(count int)

func (*Renderer) ToString added in v0.12.0

func (r *Renderer) ToString(state uint) string

func (*Renderer) Warning added in v0.12.0

func (r *Renderer) Warning(message string)

func (*Renderer) When added in v0.12.0

func (r *Renderer) When(condition bool, cb func(*Renderer), defaultCb func(*Renderer))

type RendererInterface added in v0.12.0

type RendererInterface interface {
	Render(prompt any)
	String() string
}

func NewSpinnerRenderer added in v0.12.0

func NewSpinnerRenderer(s *Spinner) RendererInterface

type SelectPrompt added in v0.18.0

type SelectPrompt struct {
	*Prompt
	Label        string
	Values       []string
	Labels       []string
	DefaultValue string
	Scroll       int
	Hint         string
}

func NewSelectPrompt added in v0.18.0

func NewSelectPrompt(i *Input, o *Output, label string, values []string, labels []string, defaultValue string) *SelectPrompt

func (*SelectPrompt) GetLabel added in v0.18.0

func (p *SelectPrompt) GetLabel() string

func (*SelectPrompt) Render added in v0.18.0

func (p *SelectPrompt) Render() (string, error)

func (*SelectPrompt) String added in v0.18.0

func (p *SelectPrompt) String() string

func (*SelectPrompt) Visible added in v0.18.0

func (p *SelectPrompt) Visible() []string

type Spinner added in v0.12.0

type Spinner struct {
	*Prompt
	Interval int
	Count    int
	Message  string
	Frames   []string
	Color    string
}

func NewSpinner added in v0.12.0

func NewSpinner(i *Input, o *Output, message string, frames []string, color string) *Spinner

func (*Spinner) Spin added in v0.12.0

func (s *Spinner) Spin(fn func())

type StringArg added in v0.18.0

type StringArg struct {
	Name        string
	Description string
	Value       string
	Required    bool
	Validator   func(string) error
}

func (*StringArg) GetDescription added in v0.18.0

func (a *StringArg) GetDescription() string

func (*StringArg) GetName added in v0.18.0

func (a *StringArg) GetName() string

func (*StringArg) HasValue added in v0.18.0

func (a *StringArg) HasValue() bool

func (*StringArg) IsRequired added in v0.18.0

func (a *StringArg) IsRequired() bool

type StringFlag added in v0.18.0

type StringFlag struct {
	Name        string
	Shortcuts   []string
	Description string
	Value       string
	Validator   func(string) error
}

func (*StringFlag) GetDescription added in v0.18.0

func (f *StringFlag) GetDescription() string

func (*StringFlag) GetName added in v0.18.0

func (f *StringFlag) GetName() string

func (*StringFlag) GetShortcutString added in v0.18.0

func (f *StringFlag) GetShortcutString() string

func (*StringFlag) GetShortcuts added in v0.18.0

func (f *StringFlag) GetShortcuts() []string

func (*StringFlag) HasValue added in v0.19.0

func (f *StringFlag) HasValue() bool

type Table added in v0.16.0

type Table struct {
	// contains filtered or unexported fields
}

func NewTable added in v0.16.0

func NewTable(o *Output) *Table

func (*Table) AddRow added in v0.16.0

func (t *Table) AddRow(rows []*TableCell)

func (*Table) AddRows added in v0.16.0

func (t *Table) AddRows(rows [][]*TableCell)

func (*Table) AppendRow added in v0.16.0

func (t *Table) AppendRow(row []*TableCell)

func (*Table) ColumnStyle added in v0.16.0

func (t *Table) ColumnStyle(columnIndex int) *TableStyle

func (*Table) Render added in v0.16.0

func (t *Table) Render()

func (*Table) SetColumnMaxWidth added in v0.16.0

func (t *Table) SetColumnMaxWidth(columnIndex int, maxWidth int)

func (*Table) SetColumnStyle added in v0.16.0

func (t *Table) SetColumnStyle(i uint, style *TableStyle)

func (*Table) SetColumnStyleByName added in v0.16.0

func (t *Table) SetColumnStyleByName(i uint, name string)

func (*Table) SetColumnWidth added in v0.16.0

func (t *Table) SetColumnWidth(columnIndex int, width int)

func (*Table) SetColumnWidths added in v0.16.0

func (t *Table) SetColumnWidths(widths []int)

func (*Table) SetFooterTitle added in v0.16.0

func (t *Table) SetFooterTitle(title string)

func (*Table) SetHeaderTitle added in v0.16.0

func (t *Table) SetHeaderTitle(title string)

func (*Table) SetHeaders added in v0.16.0

func (t *Table) SetHeaders(headers []string)

func (*Table) SetHorizontal added in v0.16.0

func (t *Table) SetHorizontal(horizontal bool)

func (*Table) SetRow added in v0.16.0

func (t *Table) SetRow(columnIndex int, row []*TableCell)

func (*Table) SetRows added in v0.16.0

func (t *Table) SetRows(rows [][]*TableCell)

func (*Table) SetStyle added in v0.16.0

func (t *Table) SetStyle(style *TableStyle)

func (*Table) SetStyleByName added in v0.16.0

func (t *Table) SetStyleByName(style string)

func (*Table) SetVertical added in v0.16.0

func (t *Table) SetVertical(vertical bool)

func (*Table) Style added in v0.16.0

func (t *Table) Style() *TableStyle

type TableCell added in v0.16.0

type TableCell struct {
	Value       string
	RowSpan     uint
	ColSpan     uint
	Style       *TableCellStyle
	IsSeparator bool
}

func NewTableCell added in v0.16.0

func NewTableCell(value string) *TableCell

func NewTableSeparator added in v0.16.0

func NewTableSeparator() *TableCell

func (*TableCell) String added in v0.16.0

func (c *TableCell) String() string

type TableCellStyle added in v0.16.0

type TableCellStyle struct {
	Foreground string
	Background string
	Options    []string
	// left, center or right
	Align      string
	CellFormat string
}

type TableOptions added in v0.16.0

type TableOptions struct {
	DisplayOrientation string
	HeaderTitle        string
	FooterTitle        string
	Style              string
	Align              string
}

type TableStyle added in v0.16.0

type TableStyle struct {
	PaddingChar                 string
	HorizontalOutsideBorderChar string
	HorizontalInsideBorderChar  string
	VerticalOutsideBorderChar   string
	VerticalInsideBorderChar    string
	CrossingChar                string
	CrossingTopRightChar        string
	CrossingTopMidChar          string
	CrossingTopLeftChar         string
	CrossingMidRightChar        string
	CrossingBottomRightChar     string
	CrossingBottomMidChar       string
	CrossingBottomLeftChar      string
	CrossingMidLeftChar         string
	CrossingTopLeftBottomChar   string
	CrossingTopMidBottomChar    string
	CrossingTopRightBottomChar  string
	HeaderTitleFormat           string
	FooterTitleFormat           string
	CellHeaderFormat            string
	CellRowFormat               string
	CellRowContentFormat        string
	BorderFormat                string
	PadType                     string
}

func NewTableStyle added in v0.16.0

func NewTableStyle(name string) *TableStyle

func (*TableStyle) Clone added in v0.16.0

func (ts *TableStyle) Clone() *TableStyle

func (*TableStyle) SetDefaultCrossingChar added in v0.16.0

func (ts *TableStyle) SetDefaultCrossingChar(char string)

type TextDescriptor

type TextDescriptor struct {
	Output *Output
}

func (*TextDescriptor) DescribeApplication

func (d *TextDescriptor) DescribeApplication(app *Application, options *DescriptorOptions)

func (*TextDescriptor) DescribeArgument added in v0.18.0

func (d *TextDescriptor) DescribeArgument(argument Arg, options *DescriptorOptions)

func (*TextDescriptor) DescribeCommand

func (d *TextDescriptor) DescribeCommand(command *Command, options *DescriptorOptions)

func (*TextDescriptor) DescribeFlag added in v0.18.0

func (d *TextDescriptor) DescribeFlag(flag Flag, options *DescriptorOptions)

func (*TextDescriptor) DescribeInputDefinition

func (d *TextDescriptor) DescribeInputDefinition(definition *InputDefinition, options *DescriptorOptions)

func (*TextDescriptor) Write

func (d *TextDescriptor) Write(content string, decorated bool)

type TextPrompt added in v0.18.0

type TextPrompt struct {
	*Prompt
	Label        string
	Placeholder  string
	DefaultValue string
	Hint         string
}

func NewTextPrompt added in v0.18.0

func NewTextPrompt(i *Input, o *Output, label string, defaultValue string) *TextPrompt

func (*TextPrompt) Render added in v0.18.0

func (tp *TextPrompt) Render() (string, error)

func (*TextPrompt) String added in v0.18.0

func (tp *TextPrompt) String() string

func (*TextPrompt) ValueWithCursor added in v0.18.0

func (tp *TextPrompt) ValueWithCursor(maxWidth int) string

type Theme added in v0.13.0

type Theme struct {
	Foreground   string
	Background   string
	Options      []string
	Icon         string
	Label        string
	FullyColored bool
	Padding      bool
	// contains filtered or unexported fields
}

func GetTheme added in v0.19.1

func GetTheme(tag string) (*Theme, error)

func (*Theme) GetStyle added in v0.19.1

func (t *Theme) GetStyle() *OutputFormatterStyle

type TrimmedBufferOutput

type TrimmedBufferOutput struct {
	*Output
	// contains filtered or unexported fields
}

func (*TrimmedBufferOutput) DoWrite

func (o *TrimmedBufferOutput) DoWrite(message string, newLine bool)

func (*TrimmedBufferOutput) Fetch

func (o *TrimmedBufferOutput) Fetch() string

type WaitPrompt added in v0.18.0

type WaitPrompt struct {
	*Spinner
	WaitFunc func() bool
	// contains filtered or unexported fields
}

func NewWaitPrompt added in v0.18.0

func NewWaitPrompt(i *Input, o *Output, waitFunc func() bool, message string) *WaitPrompt

func (*WaitPrompt) Render added in v0.18.0

func (p *WaitPrompt) Render() error

func (*WaitPrompt) String added in v0.18.0

func (p *WaitPrompt) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳