It would occasionally be helpful to support multiselect in interactive mode. This would allow selecting multiple results which are written to stdout separated by spaces.
A use case would be a fuzzy finder over git branches that allows selecting multiple for deletion.
Each row would show an * when selected. The upper right would show the selection status.
zf would behave as normal. When tab is pressed, the currently highlighted row would become selected, tab again would deselect the row.
When enter is pressed all selected rows would be written to stdout. If no rows are selected, only the highlighted row is written (maintaining the current behavior).
Either all rows will be shifted right two columns when selection is active, or all rows will always be shifted.
It would occasionally be helpful to support multiselect in interactive mode. This would allow selecting multiple results which are written to stdout separated by spaces.
A use case would be a fuzzy finder over git branches that allows selecting multiple for deletion.
Example UI
Each row would show an
*
when selected. The upper right would show the selection status.zf would behave as normal. When tab is pressed, the currently highlighted row would become selected, tab again would deselect the row.
When enter is pressed all selected rows would be written to stdout. If no rows are selected, only the highlighted row is written (maintaining the current behavior).
Either all rows will be shifted right two columns when selection is active, or all rows will always be shifted.
Prerequisites
Before this is implemented, zf needs support for scrolling the entire list of search candidates. https://github.com/natecraddock/zf/issues/23