Ito - Создавайте терминальные интерфейсы на Lua
Show HN: Ito – Build Terminal UIs in Lua

Ito — это библиотека для создания интерактивных терминальных интерфейсов на языке Lua. Она предоставляет простой API для управления состоянием, обработки событий и компоновки элементов, таких как списки, текстовые поля и кнопки. С помощью Ito вы можете быстро прототипировать и создавать консольные приложения с богатым пользовательским интерфейсом, включая навигацию с клавиатуры и реактивное обновление. Идеально подходит для разработчиков, желающих добавить интерактивность в свои CLI-инструменты без сложной настройки. Попробуйте онлайн-песочницу, чтобы оценить возможности.
Ito позволяет создавать полноценные терминальные интерфейсы на Lua — просто, гибко и с реактивным обновлением.
- Yannik_Sc
Хотя мне в целом нравится Lua, этот код выглядит... не очень-то по-луaвски. Это определённо Lua, но он мог бы выглядеть гораздо лучше, если использовать такие возможности языка, как «вызовы без скобок»:
ui.Button "Button Text" {
on_click = function()
print("Hello world")
end,
disabled = true
}
или
ui.VStack {
padding = 31, -- Именованный ключ => опция
wrap = true,
ui.Button "..." {}, -- Индексируется по номеру => дочерние элементы
}
по-моему, это более по-луaвски и немного чище
- hollowturtle
Отличная работа! Декларативный API выглядит просто офигенно! Попробую. Иногда я люблю думать, что если наша вселенная действительно бесконечна, то где-то есть вселенная, где браузеры поддерживают нативный скриптинг на luajit вместо javascript (а в другой вселенной всё это плюс индексация массивов с 0 ;)
- buffer_overlord
Hqtui