,_,
{o,o}
/) )
---"-"--
Owl is a toolkit for writing command-line user interfaces in Elixir.
It provides a convenient interface for
- colorizing text using tags
- input control with validations and casting to various data types
- select/multiselect controls, inspired by AUR package managers
- tables
- editing text in
ELIXIR_EDITOR
- wrapping multiline colorized data into ASCII boxes
- printing palette colors
- progress bars and spinners, multiple bars/spinners at the same time are supported as well
- live-updating of multiline blocks
- working with virtual device which partially implements The Erlang I/O Protocol and doesn't conflict with live blocks.
The code can be found in examples directory.
The package can be installed by adding owl
to your list of dependencies in mix.exs
:
def deps do
[
{:owl, "~> 0.12"},
# ucwidth is an optional dependency, uncomment it for multibyte characters support (emoji, etc)
# {:ucwidth, "~> 0.2"}
]
end
Documentation can be found at https://hexdocs.pm/owl.