choose

package
v0.0.0-...-6c7f99c Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package choose provides an interface to choose one option from a given list of options. The options can be provided as (new-line separated) stdin or a list of arguments.

It is different from the filter command as it does not provide a fuzzy finding input, so it is best used for smaller lists of options.

Let's pick from a list of gum flavors:

$ gum choose "Strawberry" "Banana" "Cherry"

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	Options           []string      `arg:"" optional:"" help:"Options to choose from."`
	Limit             int           `help:"Maximum number of options to pick" default:"1" group:"Selection"`
	NoLimit           bool          `help:"Pick unlimited number of options (ignores limit)" group:"Selection"`
	Ordered           bool          `help:"Maintain the order of the selected options" env:"GUM_CHOOSE_ORDERED"`
	Height            int           `help:"Height of the list" default:"10" env:"GUM_CHOOSE_HEIGHT"`
	Cursor            string        `help:"Prefix to show on item that corresponds to the cursor position" default:"> " env:"GUM_CHOOSE_CURSOR"`
	Header            string        `help:"Header value" default:"" env:"GUM_CHOOSE_HEADER"`
	CursorPrefix      string        `help:"Prefix to show on the cursor item (hidden if limit is 1)" default:"○ " env:"GUM_CHOOSE_CURSOR_PREFIX"`
	SelectedPrefix    string        `help:"Prefix to show on selected items (hidden if limit is 1)" default:"◉ " env:"GUM_CHOOSE_SELECTED_PREFIX"`
	UnselectedPrefix  string        `help:"Prefix to show on unselected items (hidden if limit is 1)" default:"○ " env:"GUM_CHOOSE_UNSELECTED_PREFIX"`
	Selected          []string      `help:"Options that should start as selected" default:"" env:"GUM_CHOOSE_SELECTED"`
	SelectIfOne       bool          `help:"Select the given option if there is only one" group:"Selection"`
	CursorStyle       style.Styles  `embed:"" prefix:"cursor." set:"defaultForeground=212" envprefix:"GUM_CHOOSE_CURSOR_"`
	HeaderStyle       style.Styles  `embed:"" prefix:"header." set:"defaultForeground=240" envprefix:"GUM_CHOOSE_HEADER_"`
	ItemStyle         style.Styles  `embed:"" prefix:"item." hidden:"" envprefix:"GUM_CHOOSE_ITEM_"`
	SelectedItemStyle style.Styles  `embed:"" prefix:"selected." set:"defaultForeground=212" envprefix:"GUM_CHOOSE_SELECTED_"`
	Timeout           time.Duration `help:"Timeout until choose returns selected element" default:"0" env:"GUM_CCHOOSE_TIMEOUT"` // including timeout command options [Timeout,...]

	utils.Result
}

Options is the customization options for the choose command.

func (*Options) Run

func (o *Options) Run() error

Run provides a shell script interface for choosing between different through options.

Jump to

Keyboard shortcuts

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