Выпуск командной оболочки fish 3.2

Опубликован релиз интерактивной командной оболочки fish 3.2.0 (friendly interactive shell), развивающейся как более дружественная пользователю альтернатива bash и zsh. Fish поддерживает такие возможности как подсветка синтаксиса с автоматическим выявлением ошибок ввода, предложение возможных вариантов ввода на основе истории прошлых операций, автодополнение ввода опций и команд с использованием их описания в man-руководствах, комфортная работа из коробки без необходимости дополнительной настройки, упрощённый язык написания сценариев, поддержка буфера обмена X11, удобные средства поиска в истории выполненных операций. Код проекта распространяется под лицензией GPLv2. Готовые пакеты сформированы для Ubuntu, Debian, Fedora, openSUSE и RHEL.

Среди добавленных новшеств:

  • Добавлена поддержка отката изменений (Undo и Redo) при редактировании командной строки. Undo вызывается через комбинацию Сtrl+Z, а Redo через Alt+/.
  • Встроенные команды теперь выполняют обработку по мере поступления данных, например, операция замены строки начинает вывод сразу, без ожидания поступления всех входных данных. В том числе встроенные команды теперь можно использоваться в цепочке команд, передающих данные через неименованные каналы, например «dmesg -w | string match ‘*usb*'».
  • Если путь в приглашении командной строки не вмещается в ширину строки терминала, он теперь частично обрезается, а не заменяется на «›».
  • Улучшена работа автодополения ввода нажатием Tab (для неоднозначных дополнений сразу выводится список замен без необходимости второй раз нажимать Tab).
  • Добавлена новая вспомогательная функция «fish_add_path» для добавления пути к переменной окружения $PATH, автоматически отсеивающая дубликаты.
  • Обеспечена более наглядная диагностика ошибок при выполнении команды test.
  • В конструкции «$x[$start..$end]» теперь разрешено пропускать значения $start или $end, которые по умолчанию определяются как 1 и -1. Например, echo $var[..] эквивалентно $var[1..-1] и приведёт к выводу от первого до последнего элемента.
  • Значительно повышена производительность многих функций. Расширены возможности функций обработки строк.

Источник: http://www.opennet.ru/opennews/art.shtml?num=54679