celina
A CLI library inspired by Ratatui
Summary
| Latest Version | 0.13.0 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:27 |
Tags
Authors
- fox0430
Installation
nimble install celina
choosenim install celina
git clone https://github.com/fox0430/celina
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| celina | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= | 2.0.6 | No |
| unicodedb >= | 0.13.2 | No |
Source
| Repository | https://github.com/fox0430/celina |
|---|---|
| Homepage | https://github.com/fox0430/celina |
| Registry Source | nimble_official |
README
Celina
A CLI library in Nim, inspired by Ratatui.
Features
- High-performance terminal rendering with buffer-based system
- Constraint-based responsive layout system
- Full Unicode support with proper display width handling
- Event-driven architecture for keyboard and mouse input
- Widget system for building interactive components
- Async programming support with asyncdispatch or Chronos
Platform Support
- Unix like operation system (Linux, macOS, etc)
Install
nimble install celina
Examples
Check out the examples/ directory for sample applications demonstrating various features:
hello_world.nim: Basic application displaying "Hello, World!" with simple event handlingasync_hello_world.nim: Asynchronous version using Chronosbutton_demo.nim: Interactive button widget, various styles, and click handlingcolor_demo.nim: 24-bit RGB color support demonstration with gradients, palettes, and animationscursor_demo.nim: Terminal cursor control including position, visibility, and style managementinput_demo.nim: Text input widgets including password fields, borders, search, and real-time value displaylist_demo.nim: List widget with single/multiple selection modes, keyboard/mouse navigation, scrolling, and custom stylingmouse_demo.nim: Mouse event handling including clicks, drag, wheel scroll, and movement detectionprogress_demo.nim: Progress bar widgets with various styles, customizable colors, bracket display options, and animated demonstrationstable_demo.nim: Table widget with custom column widths, multiple selection modes, border styles, vim-like navigation, and scrolling support for large datasetstabs_demo.nim: Tab widget demonstration with multiple tabs, keyboard navigation, dynamic tab management, and content switchingwindow_demo.nim: Window management system with multiple overlapping windows, focus control, and modal dialogsasync_file_manager.nim: Real-world file manager implementation with async I/O, multi-window UI, and vim-style navigation
Projects using Celina
- moe - A command line based editor inspired by Vim.
Documentation
https://fox0430.github.io/celina/celina.html