Packages

A terminal UI toolkit for Elixir, in the shape of Phoenix LiveView: stateful views, tiled windows, styled cells and an IO loop that only writes when the frame changes.

Current section

Files

Jump to
atui mix.exs
Raw

mix.exs

defmodule Atui.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/iboard/atui"
def project do
[
app: :atui,
version: @version,
elixir: "~> 1.19",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
docs: docs(),
name: "Atui"
]
end
# A library: no application callback module, so adding :atui to a project
# starts nothing on its own. The UI goes under the application's own
# supervisor as {Atui, view: MyView}.
def application do
[extra_applications: [:logger]]
end
defp description do
"A terminal UI toolkit for Elixir, in the shape of Phoenix LiveView: " <>
"stateful views, tiled windows, styled cells and an IO loop that only " <>
"writes when the frame changes."
end
defp package do
[
licenses: ["Apache-2.0"],
links: %{"GitHub" => @source_url},
# The demo application and the feature notes are not part of the package.
files: ~w(lib mix.exs README.md CHANGELOG.md LICENSE .formatter.exs)
]
end
defp docs do
[
main: "Atui",
source_ref: "v#{@version}",
source_url: @source_url,
extras: ["README.md", "CHANGELOG.md", "LICENSE"],
groups_for_modules: [
Runtime: [Atui, Atui.Runtime],
Views: [Atui.View, Atui.Panes],
Drawing: [Atui.Screen, Atui.Style, Atui.Rect, Atui.Layout],
Terminal: [Atui.Terminal, Atui.Input, Atui.Key]
]
]
end
defp deps do
[
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end
end