Skip to content

smelt.picker

Tier: UiHost - Requires a terminal UI; calling these from headless mode raises.

Classification: Supported - Primary alpha facade for user config and plugins.

Picker facade. Use smelt.picker.open(opts) for normal yielding selection and smelt.picker.new(opts) only when directly managing a non-blocking picker handle.

smelt.picker.new

fun(opts: smelt.picker.NewOpts): smelt.picker.Picker

Types: smelt.picker.NewOpts, smelt.picker.Picker

Classification: Advanced - Documented low-level capability for plugins that need full control. It may evolve more freely than the Supported facade.

Open a picker overlay and return a non-blocking Picker userdata for direct lifecycle and keybinding control. Prefer smelt.picker.open(opts) for normal selection.

smelt.picker.open

fun(opts: smelt.picker.OpenOpts): smelt.picker.OpenResult?

Types: smelt.picker.OpenOpts, smelt.picker.OpenResult

Open a picker and yield until the user accepts or dismisses. Static pickers use any low-level placement. Prompt-docked pickers additionally support fuzzy ranking, async providers, lazy items, and persistent on_enter.