Awesome
Owl
,_,
{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.
Demo
The code can be found in examples directory.
Installation
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.