Создатель Ghostty выпустил готовый движок терминала для любых приложений
Для разработчиков, которым нужно встроить терминал в приложение, появилась еще одна готовая библиотека. Она основана на движке Ghostty, уже используется в IDE от JetBrains, а в будущем может появиться и в Neovim.
Для разработчиков, которым нужно встроить терминал в приложение, появилась еще одна готовая библиотека. Она основана на движке Ghostty, уже используется в IDE от JetBrains, а в будущем может появиться и в Neovim.
Создатель Ghostty Митчелл Хасимото представил libghostty-vt 1.0 — библиотеку для встраивания эмулятора терминала в другие приложения. Она распространяется бесплатно по лицензии MIT, работает на Windows, Linux, macOS, Android, iOS и в браузере через WebAssembly.
Библиотека написана на Zig, но предоставляет интерфейс C. Есть также интеграции для Rust, Go, JavaScript, Swift, Python, Java и других языков.
Главное изменение в версии 1.0 — стабильность API и двоичного интерфейса ABI. Это позволяет обновлять библиотеку с меньшим риском нарушения совместимости с уже собранными приложениями.
libghostty уже используется во встроенных терминалах IntelliJ IDEA, PyCharm, GoLand и других IDE JetBrains. По данным компании, ее продуктами пользуются более 12,5 миллиона активных пользователей.
Переход на библиотеку также готовит Neovim. Разработчики одобрили соответствующее изменение, которое должно решить десятилетнюю проблему с переносом текста при изменении размера окна терминала. Кроме того, библиотеку используют Turborepo от Vercel, OrbStack и другие инструменты.
Хасимото рассказал, что смог запустить 10 тысяч активных терминалов на Linux-сервере с четырьмя ядрами и 8 ГБ оперативной памяти. Каждый терминал при этом выполнял команды и выводил текст.
Для браузерных приложений есть компактная версия WebAssembly размером менее 1 МБ. Если отключить часть функций, ее можно уменьшить примерно вдвое. По оценке разработчика, с libghostty можно создать собственный терминал примерно на 1500 строках кода C. Документация, примеры и готовые сборки доступны на lib.ghostty.org.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.