crysterm

HEAD Latest release released

Linux CI Version License

Crysterm is a console/terminal toolkit for Crystal, inspired by Blessed, Blessed-contrib, and Qt.

Advanced features:

Image-rendering backends:

Image::Tek (Tektronix 4014):

Tech intro

Crysterm is supported by the event model in event_handler, color routines in term_colors, terminal handling in tput.cr, GPM mouse in gpm.cr, a terminfo library in unibilium.cr, and an animated PNG/GIF parser in pnggif.

tput.cr implements all the terminal routines, and does not use ncurses. For terminfo bindings it uses unibilium, but it also supports a built-in, standard mode which does not use terminfo at all. (A lot of modern software just hardcodes the sequences.) The other important module at Crysterm's core is event_handler. through which all app events and input are routed.

In-depth introductory doc is in USAGE.md.

Examples

git clone https://github.com/crystallabs/crysterm
cd crysterm
shards

crystal examples/hello.cr
crystal examples/hello2.cr
crystal examples/tech-demo.cr

(And other examples from directories examples/, small-tests/, test/ and test-auto/.)

Testing

Run crystal spec as usual.

Documentation

Run crystal docs as usual.

Thanks

crysterm:
  github: crystallabs/crysterm
  
License AGPLv3
Crystal 1.0.0

Authors

Dependencies 10

  • crystallabs-helpers master
    {'branch' => 'master', 'github' => 'crystallabs/crystallabs-helpers.cr'}
  • event_handler master
    {'branch' => 'master', 'github' => 'crystallabs/event_handler'}
  • fswatch
    {'github' => 'bcardiff/crystal-fswatch'}
  • gpm master
    {'branch' => 'master', 'github' => 'crystallabs/gpm.cr'}
  • html5
    {'github' => 'naqvis/crystal-html5'}
  • pnggif master
    {'branch' => 'master', 'github' => 'crystallabs/pnggif'}
  • superconf master
    {'branch' => 'master', 'github' => 'crystallabs/superconf.cr'}
  • term_colors master
    {'branch' => 'master', 'github' => 'crystallabs/term_colors'}
  • tput master
    {'branch' => 'master', 'github' => 'crystallabs/tput'}
  • w3m_image_display
    {'github' => 'SamualLB/w3mimagedisplay'}

Development Dependencies 1

  • ameba ~> 1.6.3
    {'github' => 'crystal-ameba/ameba', 'version' => '~> 1.6.3'}

Dependents 0

Last synced .
search fire star recently