Terminal Table is a simple ASCII table generator written in Crystal.
Switch branches/tags
Nothing to show
Clone or download
Latest commit a14e244 Nov 4, 2016
Permalink
Failed to load latest commit information.
examples initial commit Nov 4, 2016
spec initial commit Nov 4, 2016
src initial commit Nov 4, 2016
.gitignore initial commit Nov 4, 2016
.travis.yml initial commit Nov 4, 2016
LICENSE initial commit Nov 4, 2016
README.md added travis status Nov 4, 2016
shard.yml initial commit Nov 4, 2016

README.md

TerminalTable

Build Status

Terminal Table is a simple ASCII table generator written in Crystal. This code was inspired by Terminal Table Ruby implementation https://github.com/tj/terminal-table

Installation

Add this to your application's shard.yml:

dependencies:
  terminal_table:
    github: benoist/terminal_table.cr

Usage

require "terminal_table"

# Table with headings
table = TerminalTable.new
table.headings = ["Char", "Num"]
table << ["a", 1]
table << ["b", 2]
table << ["c", 3]
puts table.render
+------+-----+
| Char | Num |
+------+-----+
| a    | 1   |
| b    | 2   |
| c    | 3   |
+------+-----+

# Table with a separator for each row
table = TerminalTable.new
table.headings = ["Char", "Num"]
table.separate_rows = true
table << ["a", 1]
table << ["b\nc", 2]
table << ["d", 3]
puts table.render
+------+-----+
| Char | Num |
+------+-----+
| a    | 1   |
+------+-----+
| b    | 2   |
| c    |     |
+------+-----+
| d    | 3   |
+------+-----+

TODO

  • [] Cell alignment
  • [] Colspans

Contributing

  1. Fork it ( https://github.com/benoist/terminal_table.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

Contributors

  • benoist Benoist Claassen - creator, maintainer