Skip to content
Projects

fox0430/celina has 37 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-10 00:24 UTC. Last push 2026-11-04.

How these counts are measured

A CLI library in Nim, inspired by Ratatui

What you can do

  • 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

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

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
  • Inline viewport for prompt-style UIs that stay in the scrollback
  • Async programming support with asyncdispatch or Chronos (4.0 or later)

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 handling
  • async_hello_world.nim: Asynchronous version using Chronos
  • button_demo.nim: Interactive button widget, various styles, and click handling
  • color_demo.nim: 24-bit RGB color support demonstration with gradients, palettes, and animations
  • cursor_demo.nim: Terminal cursor control including position, visibility, and style management
  • inline_demo.nim: Inline viewport drawing a progress bar in a few rows at the cursor, with the last frame left in the scrollback on exit
  • input_demo.nim: Text input widgets including password fields, borders (also top/bottom only), search, and real-time value display
  • list_demo.nim: List widget with single/multiple selection modes, keyboard/mouse navigation, scrolling, and custom styling
  • mouse_demo.nim: Mouse event handling including clicks, drag, wheel scroll, and movement detection
  • progress_demo.nim: Progress bar widgets with various styles, customizable colors, bracket display options, and animated demonstrations
  • table_demo.nim: Table widget with custom column widths, multiple selection modes, border styles, vim-like navigation, and scrolling support for large datasets
  • tabs_demo.nim: Tab widget demonstration with multiple tabs, keyboard navigation, dynamic tab management, and content switching
  • window_demo.nim: Window management system with multiple overlapping windows, focus control, and modal dialogs
  • async_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

Explore related projects