terminal_table.cr

Terminal Table is a simple ASCII table generator written in Crystal.

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
Repository

terminal_table.cr

Owner
Statistic
  • 21
  • 4
  • 0
  • 12
  • 0
  • about 8 years ago
  • November 4, 2016
License

MIT License

Links
Synced at

Thu, 07 Nov 2024 00:38:25 GMT

Languages