terminfo - WIP - API NOT STABLE AT ALL!

[WIP] A Crystal library to parse and use terminfo database

DO NOT USE, the API might change!

Installation

Add this to your application's shard.yml:

dependencies:
  terminfo:
    github: bew/terminfo.cr

Usage

See the samples and the database specs for up-to-date usage examples.

require "terminfo"

# do stuff..

Development

Also see dev notes.

Progress

Done:

TODO:

Used references

unibilium

term (rust): A Rust library for terminfo parsing and terminal colors.

terminfo (go): Terminfo for Go

rust-terminfo (rust): Terminfo for Rust

Compiled terminfo format man page: https://www.systutorials.com/docs/linux/man/5-term/

Source terminfo format: http://pubs.opengroup.org/onlinepubs/7908799/xcurses/terminfo.html (not used ATM)

Full (almost) doc on terminfo, param strings, usages, etc.. linux - man5 - terminfo

About Control Functions, Escape Sequences, and VT-Keys (not official, but still interesting!) Control characters

Full XTerm Control Sequences doc: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Misc

Cool lib termfest (rust) (using term, see above)

Contributing

  1. Fork it ( https://github.com/bew/terminfo.cr/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Also, feel free to open an issue for anything (feature idea, implementation idea, just discuss about the project).

Contributors