Поиск по сайту:
Равенство существует только в гробу (К. Колтон).

Выпущена бета-версия Fish Shell 4.0: полная переработка на Rust с ключевыми улучшениями

20.12.2024
Выпущена бета-версия Fish Shell 4.0: полная переработка на Rust с ключевыми улучшениями

Популярная оболочка Fish только что выпустила новую бета-версию — 4.0! Это большое изменение, потому что это первая версия после полной переработки. Изначально оболочка Fish была написана на C++, но теперь она написана на Rust. Это означает, что основной код оболочки был полностью изменён.

В этом первом бета-релизе Fish shell 4.0 много изменений, как больших, так и маленьких. Вот несколько основных моментов:

  • Улучшенные сочетания клавиш: Fish теперь поддерживает больше комбинаций клавиш, что упрощает его использование.
  • Улучшенные автоподсказки: теперь Fish может предлагать более подходящие команды, что ускоряет работу.
  • Улучшенные сценарии: есть ряд улучшений, которые упростят написание сценариев в Fish.
  • Улучшенная поддержка терминалов: Fish теперь лучше работает с более широким спектром терминалов, что делает его более гибким.

 

Почему Fish Shell выбрал Rust?

Разработчики Fish Shell выбрали Rust в качестве целевого языка для переписывания по нескольким ключевым причинам.

Rust — это язык системного программирования с широкой поддержкой платформбольшим и активным сообществом и хорошими шансами оставаться актуальным в будущем. Это было ключевым фактором, поскольку разработчики хотели обеспечить долгосрочную жизнеспособность проекта.

Разработчики также посчитали, что функции безопасности и надёжности Rust помогут предотвратить ошибки и сделают оболочку более стабильной. Это было особенно важно, поскольку оболочка используется для управления компьютером, и ошибки могут иметь серьёзные последствия.

Читать  Выпущен AlmaLinux 9.5, вот что нового

Что ещё более важно, уникальная особенность Rust в плане потоковой безопасности позволяет решить проблему включения параллельного режима в Fish Shell. Это было давней целью разработчиков, но в C++ было трудно добиться безопасной реализации.

В конце концов разработчики рассмотрели другие языки, но в итоге решили, что Rust подходит лучше всего.

Они исключили такие языки, как Java, Python и другие скриптовые языки, из-за опасений по поводу задержки запуска и использования памяти.

Язык Go считался неподходящим из-за обработки системного вызова fork.

Другие языки системного программирования, такие как D, Nim и Zig, считались слишком нишевыми, а это означало, что у них было меньше разработчиков и выше риск стать неактуальными в будущем.

 

Основные улучшения в бета-версии Fish Shell 4.0

Этот бета-выпуск (4.0b1) оболочки Fish включает в себя значительную переработку основного кода с C++ на Rust. Он предлагает ряд заметных улучшений и исправлений:

Во-первых, Fish теперь запрашивает кодировку клавиатуры modifyOtherKeys XTerm и прогрессивные улучшения протокола клавиатуры Kitty, которые могут позволить привязывать больше комбинаций клавиш в зависимости от поддержки терминала.

Кроме того, bind теперь поддерживает синтаксис, понятный человеку. Fish теперь можно создать в виде самоустанавливающегося двоичного файла.

Во-вторых, есть много улучшений для написания сценариев и интерактивного использования. Например, ctrl-c при вводе команды просто очистит командную строку, а не выведет ^C и новую подсказку.

Читать  Как скачать файл с Github

Привязки теперь также могут сочетать специальные функции ввода и команды оболочки. Поиск в истории ctrl-r теперь использует синтаксис glob и работает только с заменой строки или команды в позиции курсора, что упрощает комбинирование команд из истории. Сокращения теперь можно ограничить конкретными командами.

В-третьих, есть ряд улучшений в работе с текстом, в том числе то, что история отмены больше не обрезается после каждой команды, а ctrl-v теперь удаляет управляющие символы ASCII из вставленного текста.

Также есть несколько новых или улучшенных сочетаний клавиш, в том числе alt-o для открытия текущей команды в редакторе и shift-delete для удаления текущего элемента поиска и перехода к следующему более старому элементу во время поиска по истории с помощью стрелки вверх.

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

Наконец, в этом выпуске улучшена поддержка терминалов, в том числе то, что Fish теперь помечает области ввода и вывода команд (с помощью OSC 133) для интеграции с терминалом и безоговорочно сообщает о рабочем каталоге (с помощью OSC 7).

Это лишь краткий обзор многочисленных изменений в этом выпуске. Более подробную информацию вы можете найти в примечаниях к выпуску на GitHub.

Читать  Устранение проблем с твердотельным накопителем NVME в Linux

 

Скачать Fish 4.0b1 Beta

Этот бета-релиз — большой шаг вперёд для Fish. Интересно, что ждёт эту популярную оболочку в будущем! Если вы хотите попробовать, вы можете скачать её со страницы релизов Fish на GitHub.

Пожалуйста, обратите внимание, что это бета-версия, поэтому в ней могут быть ошибки. Если вы используете Fish для важной работы, лучше дождаться финальной версии.

Но если вам нравится пробовать что-то новое и помогать с тестированием, то вперёд, попробуйте! Вы можете сообщить о любых найденных вами проблемах на странице Fish на GitHub.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Личный кабинет на сайте – это не просто мода, а…

Спасибо!

Теперь редакторы в курсе.