picker

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package picker is the CLI's interactive list chooser: a numbered table on stderr, a prompt on stdin. Typing a number picks, typing text filters the list (case-insensitive substring), an empty answer takes the default. No alternate screen, no raw mode — it works in any terminal and is scriptable by piping answers, which is also how the test suite drives it.

Index

Constants

This section is empty.

Variables

View Source
var ErrCancelled = errors.New("cancelled")

ErrCancelled is returned when the person backs out (Esc / Ctrl-C).

Functions

func Pick

func Pick(title string, items []Item, def int) (int, error)

Pick lets the person choose exactly one item and returns its index: the arrow-key list on a real terminal, the numbered prompt otherwise (piped answers, WEBTOR_PLAIN_PICKER=1, dumb terminals). def is the default index (-1 for none).

func PickMulti

func PickMulti(title string, items []Item) ([]int, error)

PickMulti lets the person choose several items: Tab marks in the arrow-key list; the numbered fallback understands "3", "1,4", "2-5", "all".

Types

type Item

type Item struct {
	Label  string
	Detail string
}

Item is one selectable row.

Jump to

Keyboard shortcuts

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