v0.4.0 – June 2024
- Include dispatcher preloads in the final command preloads.
- Refactor and improve
Tux.Dispatcher
. - Rename Tux.Error
:exit_code
to :exitcode
. - Rename
Tux.Explainable
protocol to Tux.Alertable
. - Replace demo example with recon.
- Rename Tux.Quick
module
macro to program
. - Remove
:warn
type from the Tux.Result
. - Add
Tux.Exit
module for controlling exits. - Move all errors in the
Tux.Errors
module. - Remove
Tux.Commands.NotImplemented
. - Show both choices when using
Prompt.for_confirmation
. - Emit
ConfigReadError
and ConfigWriteError
on bang config functions. - Add new dispatcher option
:exitwith
with possible values :halt
or :stop
. - Exit with non-zero status when command modules return errors.
v0.3.5 – February 2024
- Update
pre
macro to accept a single command. - Add compile-time checks for conflicting command names.
- Add
cmd
support for prefixed commands via sigil_p
.
v0.3.0 – January 2024
- Update the
cmd
macro to allow registration of multiple names for a command:
e.g. cmd ~w(name another_name), CmdModule
. - Add support for cumulative preloads when using nested dispatchers,
by merging preloads down the command hierarchy.
- Rename the command module callback from
info/0
to about/0
- Add
Tux.Commands.NotImplemented
, which can be used as a
placeholder command module when one hasn't been implemented yet. - Add the
pre/2
macro to simplify the registration of commands
with common preloads.
v0.2.0 – December 2023
- Add
Tux.Init
, Tux.Exec
& Tux.Show
as separate stages in a command life cycle - Add
Tux.Env
struct for storing preloads returns and command context - Add
Tux.Colors
for writing colored output - Add
Tux.Prompt
for user prompting (ints, floats, strings) and confirmations - Add
Tux.Config
for reading and writing simple key = value
config files - Add
Tux.Explainable
protocol as a source for alerts - Add
Tux.Alert
for displaying warnings and errors - Add
Tux.Error
for creating displayable errors - Add
Tux.Help
for creating help messages - Add
Tux.Result
for validating returns of commands - Add
Tux.Command
for creating command modules - Add
Tux.Dispatcher
for creating dispatcher modules and registering
command modules with cmd/3
macro.
v0.1.0