Skip to content

fuelen/owl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e94c68 · Sep 26, 2023
Dec 12, 2022
Jan 5, 2023
Jan 25, 2022
Sep 26, 2023
May 2, 2023
Oct 19, 2021
Oct 19, 2021
Dec 15, 2021
Sep 26, 2023
Sep 26, 2023
Sep 26, 2023
Mar 24, 2023

Repository files navigation

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

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