Spec-Zone.ru › Nushell

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API