• Stars
    star
    378
  • Rank 113,272 (Top 3 %)
  • Language
    Elixir
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A toolkit for writing command-line user interfaces.

Owl

CI Status Hex.pm Coverage Status

   ,_,
  {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

asciicast

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.7"}
  ]
end

Documentation can be found at https://hexdocs.pm/owl.