Packages

A simple Gleam library for pretty printing tabular data!

Current section

Files

Jump to
trellis src trellis@column.erl
Raw

src/trellis@column.erl

-module(trellis@column).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([new/1, align/2, render/2, wrap/2]).
-export_type([column/1, align/0]).
-type column(EZQ) :: {column,
binary(),
align(),
gleam@option:option(integer()),
fun((EZQ) -> binary())}.
-type align() :: left | right | center.
-file("/home/ethanthoma/projects/trellis/src/trellis/column.gleam", 28).
-spec new(binary()) -> column(any()).
new(Header) ->
{column, Header, center, none, fun(_) -> <<""/utf8>> end}.
-file("/home/ethanthoma/projects/trellis/src/trellis/column.gleam", 41).
-spec align(column(EZT), align()) -> column(EZT).
align(Column, Align) ->
_record = Column,
{column,
erlang:element(2, _record),
Align,
erlang:element(4, _record),
erlang:element(5, _record)}.
-file("/home/ethanthoma/projects/trellis/src/trellis/column.gleam", 54).
-spec render(column(any()), fun((EZY) -> binary())) -> column(EZY).
render(Column, Getter) ->
_record = Column,
{column,
erlang:element(2, _record),
erlang:element(3, _record),
erlang:element(4, _record),
Getter}.
-file("/home/ethanthoma/projects/trellis/src/trellis/column.gleam", 71).
-spec wrap(column(FAA), integer()) -> column(FAA).
wrap(Column, Width) ->
_record = Column,
{column,
erlang:element(2, _record),
erlang:element(3, _record),
{some, Width},
erlang:element(5, _record)}.