Owl - A toolkit for writing command-line user interfaces

Owl v0.7.0 has been released :tada:

A huge thanks to @zachallaun! Without his contributions, we wouldn’t have this release :slight_smile:

7 Likes

Nice work this is rad!

2 Likes

There were a couple of small releases for which I didn’t post updates here.

Owl v0.11.0 has been released today! :tada:

The major update here is that Owl.Data.from_ansidata/1 has been deprecated in favour of a more convenient Owl.Data.from_chardata/1. The latter can handle output from the CLI utilities as is without additional transformations:

filename = "README.md"
{output, 0} = Owl.System.cmd("bat", [filename, "--color=always", "--style=plain"])

output
|> Owl.Data.from_chardata()
|> Owl.Box.new(title: Owl.Data.tag(filename, :yellow), border_tag: :light_blue)
|> Owl.IO.puts()

Also, a new Owl.TrueColor module has been added in order to handle more colors produced by external CLI utilities.

9 Likes

Owl v0.13.0 released :tada:

Owl now supports clickable hyperlinks in terminal output via OSC 8 sequences. You can wrap text with the {:hyperlink, "https://url"} tag using Owl.Data.tag/2:

"Docs" |> Owl.Data.tag(hyperlink: "https://hexdocs.pm/owl") |> Owl.IO.puts()
12 Likes

Hey @fuelen just want to thank you for your work on Owl, such a great library! <3

2 Likes