TermTable

Pretty terminal table for Elixir

Installation

  1. Add term_table to your list of dependencies in mix.exs:

    def deps do

     [{:term_table, "~> 0.0.2"}]

    end

  2. Use it

    data = [

     [ "Header 1", { "Header 2", colspan: 2, align: :center } ],
     [ :separator ],
     [ { "Sidebar", width: 10 }, { "Content 1", width: 14 }, { "Content 2", align: :right, width: 14 } ],
     [ :separator ],
     [ { "Footer", colspan: 3, align: :right } ]

    ]

    TermTable.build(data)

or print it to STDOUT:

    TermTable.render(data)

you will get:

    +------------+---------------------------------+
    | Header 1   |            Header 2             |
    +------------+----------------+----------------+
    | Sidebar    | Content 1      |      Content 2 |
    +------------+----------------+----------------+
    |                                       Footer |
    +----------------------------------------------+