input list для platform
Сигнатура
> input list {flags} (prompt)
Флаги
-
--multi, -m: Использовать несколько результатов; нажмите a, чтобы переключить выбор всех элементов, или Ctrl+R, чтобы уточнить список. -
--fuzzy, -f: Использовать нечеткий поиск. -
--index, -i: Возвращает индексы списка. -
--no-footer, -n: Скрыть нижнюю строку с количеством элементов и выбранных элементов. -
--no-separator: Скрыть разделительную линию между полем поиска и результатами. -
--case-sensitive, -s {oneof<bool, string>}: Учитывать регистр при нечетком поиске: true, false или 'smart' (без учета регистра, если запрос не содержит заглавных букв). -
--display, -d {oneof<cell-path, closure(any)>}: Поле или замыкание для формирования отображаемого значения при поиске (при выборе возвращается исходное значение). -
--no-table, -t: Отключить отображение таблицы для табличных входных данных (показывать отдельными строками). -
--per-column, -c: Сопоставлять текст фильтра с каждым столбцом независимо (только в режиме таблицы).
Параметры
-
prompt: Отображаемая подсказка.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| list<any> | any |
| range | int |
Примеры
Вернуть одно значение из списка.
> [1 2 3 4 5] | input list 'Rate it'
Вернуть несколько значений из списка.
> [Banana Kiwi Pear Peach Strawberry] | input list --multi 'Add fruits to the basket'
Вернуть одну запись из таблицы с нечетким поиском.
> ls | input list --fuzzy 'Select the target'
Выбрать элемент из диапазона.
> 1..10 | input list
Вернуть индекс выбранного элемента.
> [Banana Kiwi Pear Peach Strawberry] | input list --index
Выбрать элемент из таблицы, используя столбец в качестве отображаемого значения.
> [[name price]; [Banana 12] [Kiwi 4] [Pear 7]] | input list -d name
Выбрать элемент, используя замыкание для формирования отображаемого текста.
> [[name price]; [Banana 12] [Kiwi 4] [Pear 7]] | input list -d {|it| $"($it.name): $($it.price)"}Нечеткий поиск с учетом регистра.
> [abc ABC aBc] | input list --fuzzy --case-sensitive true
Нечеткий поиск без нижней строки с количеством элементов.
> ls | input list --fuzzy --no-footer
Нечеткий поиск без разделительной линии.
> ls | input list --fuzzy --no-separator
Нечеткий поиск с пользовательским цветом подсветки совпадений.
> $env.config.color_config.search_result = "red"; ls | input list --fuzzy
Отобразить таблицу с форматированием столбцов.
> [[name size]; [file1.txt "1.2 KB"] [file2.txt "3.4 KB"]] | input list
Отобразить таблицу отдельными строками (без табличного форматирования).
> ls | input list --no-table
Нечеткий поиск с множественным выбором (для переключения нажмите Tab).
> ls | input list --fuzzy --multi
Примечания
Отображает в терминале интерактивный список для выбора элементов.
Доступны четыре режима:
- Одиночный (по умолчанию): выберите один элемент клавишами со стрелками и подтвердите выбор клавишей Enter.
- Множественный (--multi): выберите несколько элементов клавишей Space, переключите выбор всех элементов клавишей 'a'.
- Нечеткий (--fuzzy): вводите текст для фильтрации; совпадения подсвечиваются.
- Нечеткий множественный (--fuzzy --multi): вводите текст для фильтрации И выбирайте несколько элементов клавишей Tab; переключите выбор всех элементов клавишей Alt+A.
Особенности множественного режима:
- В нижней строке всегда отображается количество выбранных элементов (например, "[1-5 of 10, 3 selected]").
- Используйте Ctrl+R, чтобы «уточнить» список: оставить в нем только выбранные элементы, сохранив их выбранными, чтобы можно было снять выбор с ненужных элементов. Эту команду можно использовать несколько раз.
Отображение таблиц: при передаче таблицы через конвейер (списка записей) элементы отображаются с выровненными столбцами. Используйте стрелки Left/Right (или h/l) для горизонтальной прокрутки, если столбцы не помещаются в ширину терминала. В нечетком режиме используйте Shift+Left/Right для горизонтальной прокрутки. Многоточие (…) указывает на наличие дополнительных столбцов в соответствующем направлении. В нечетком режиме многоточие подсвечивается, если совпадения найдены в скрытых столбцах. Используйте --no-table, чтобы отключить отображение таблицы и показывать записи отдельными строками. Используйте --per-column, чтобы сопоставлять текст фильтра с каждым столбцом независимо (побеждает наилучшее совпадение). Это позволяет избежать ложных совпадений, охватывающих границы столбцов. Используйте --display, чтобы указать столбец или замыкание для отображаемого текста и текста поиска (отключает режим таблицы). Флаг --display принимает путь к ячейке (например, -d name) или замыкание (например, -d {|it| $it.name}). Замыкание получает каждый элемент и должно возвращать строку для отображения и поиска. При выборе всегда возвращается исходное значение, независимо от того, что отображает --display.
Сочетания клавиш:
- Up/Down, j/k, Ctrl+n/p: переход между элементами
- Left/Right, h/l: горизонтальная прокрутка столбцов (режим таблицы, одиночный/множественный режим)
- Shift+Left/Right: горизонтальная прокрутка столбцов (нечеткий режим)
- Home/End: переход к первому/последнему элементу
- PageUp/PageDown: переход на страницу вверх/вниз
- Space: переключение выбора (множественный режим)
- Tab: переключение выбора и переход вниз (нечеткий множественный режим)
- Shift+Tab: переключение выбора и переход вверх (нечеткий множественный режим)
- a: переключение выбора всех элементов (множественный режим), Alt+A в нечетком множественном режиме
- Ctrl+R: оставить в списке только выбранные элементы (множественные режимы)
- Alt+C: переключение учета регистра (smart -> CASE -> nocase) в нечетких режимах
- Alt+P: переключение сопоставления по отдельным столбцам в нечетком режиме таблицы
- Enter: подтвердить выбор
- Esc: отменить (все режимы)
- q: отменить (только одиночный/множественный режимы)
- Ctrl+C: отменить (все режимы)
В нечетком режиме поддерживается редактирование в стиле readline:
- Ctrl+A/E: начало/конец строки
- Ctrl+B/F, Left/Right: перемещение курсора
- Alt+B/F: перемещение на слово
- Ctrl+U/K: удаление до начала/конца строки
- Ctrl+W, Alt+Backspace: удаление предыдущего слова
- Ctrl+D, Delete: удаление символа в позиции курсора
Стилизация (наследуется из $env.config.color_config):
- search_result: подсветка совпадений в нечетком режиме
- hints: текст в нижней строке
- separator: разделительная линия и разделители столбцов таблицы
- row_index: маркер приглашения и маркер выбора
- header: заголовки столбцов таблицы
- Символы столбцов таблицы наследуются из $env.config.table.mode
Используйте --no-footer и --no-separator, чтобы скрыть нижнюю строку и разделительную линию.
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/input_list.html