{команда, которая, работает}. Fish Shell 4.1.0 представил новую версию с поддержкой составных команд и улучшенными подсказками

{команда, которая, работает}. Fish Shell 4.1.0 представил новую версию с поддержкой составных команд и улучшенными подсказками

Главный релиз года для тех, кто не пользуется мышью (хотя теперь можно).

image

Fish Shell выпустил версию 4.1.0, в которой учтены 1396 коммитов от 126 авторов, включая 70 новых участников. Сборки доступны на GitHub.

Теперь составные команды можно записывать через фигурные скобки, а функция transient prompt позволяет обновлять приглашение перед запуском команды.

Результаты автодополнения отображаются в укороченном виде до общей директории, что делает список более читаемым. Изменены самоустанавливающиеся сборки: данные считываются из бинарного файла, без установки дополнительных ресурсов.

Локализация переведена на собственную реализацию, каталоги встроены в исполняемый файл, что исключает зависимость от MO-файлов. Удалены устаревшие функции: имена клавиш terminfo, чтение базы terminfo, опция --install. Теперь также требуется, чтобы терминал отвечал на запрос основного атрибута устройства, но это можно отключить через feature-флаг.

Команда argparse получила новые опции для обработки аргументов, включая строгую проверку длинных параметров и возможность удаления или сохранения неизвестных. В интерактивном режиме добавлены подсказки для многострочных команд, улучшена подсветка ошибок, встроенная помощь теперь использует man. В funced можно редактировать скопированные функции напрямую.

Появилась базовая поддержка мыши в терминале kitty, новые биндинги для vi-режима и изменение поведения при очистке экрана (ctrl-l). Обновлены автодополнения для git и systemctl, добавлены новые варианты подчёркиваний в терминале и возможность задавать их цвет.

Fish можно собирать как единый бинарный файл, выполняющий роль оболочки и вспомогательных утилит. Поддержка Cygwin возвращена, минимальная версия CMake — 3.15.

Исходники доступны в fish-4.1.0.tar.xz. Также опубликованы экспериментальные сборки для Linux (x86_64, aarch64) и пакеты для macOS (pkg, app.zip).