Ito - Build Terminal UIs in Lua
Show HN: Ito – Build Terminal UIs in Lua

Ito는 Lua로 터미널 사용자 인터페이스(TUI)를 구축할 수 있는 라이브러리입니다. 상태 관리와 위젯 시스템을 제공하여 리스트, 텍스트 필드, 레이아웃 등을 손쉽게 구성할 수 있습니다. 예제에서는 할 일 목록을 선택하고 편집하는 간단한 앱을 보여주며, ito.state로 반응형 상태를 관리하고 ito.VStack, ito.List, ito.TextField 같은 컴포넌트를 사용합니다. 터미널 환경에서 빠르게 인터랙티브한 도구를 만들고자 하는 개발자에게 적합하며, uji.sh/ito/에서 playground를 통해 직접 체험할 수 있습니다.
터미널 UI를 Lua로 직접 만들 수 있다니, 이제 CLI 도구도 멋지게 꾸밀 수 있겠네요!
HN 토론
12- Yannik_Sc
Lua를 전반적으로 좋아하긴 하는데, 이 코드는 좀... 그렇게 Lua스럽게 보이진 않네요. 분명히 Lua 맞긴 한데, "괄호 없는 호출" 같은 언어 기능을 활용하면 훨씬 더 나아 보일 수 있을 텐데요:
ui.Button "Button Text" {
on_click = function()
print("Hello world")
end,
disabled = true
}
또는
ui.VStack {
padding = 31, -- Named key => option
wrap = true,
ui.Button "..." {}, -- Indexed by number => children
}
제 생각엔 이게 더 Lua스럽고 살짝 더 깔끔한 것 같아요
- hollowturtle
잘하셨네요! 선언형 API 정말 멋져 보여요! 한번 써볼게요. 가끔 저는 이런 생각을 하곤 해요. 만약 우리 우주가 정말로 무한하다면, 어딘가에는 브라우저가 javascript 대신 네이티브 luajit 스크립팅을 지원하는 우주도 있겠지 하고요(그리고 또 다른 우주에서는 여기에 더해 배열 인덱스까지 0부터 시작하겠죠 ;)
- buffer_overlord
Hqtui