Version 0.5.0
has been tagged.
New conditions added:
CLINGON:BASE-ERROR
CLINGON:EXIT-ERROR
(sub-class ofCLINGON:BASE-ERROR
)
New generic functions added:
CLINGON:HANDLE-ERROR
The CLINGON:BASE-ERROR
condition can be used as the base for new
user-defined conditions, which can be signalled by command handlers.
Whenever a CLINGON:BASE-ERROR
condition is signalled, the
CLINGON:RUN
method will invoke CLINGON:HANDLE-ERROR
, which allows
developers to provide custom logic for reporting and handling of app
specific errors.
Make sure to check the Custom Errors
section from the documentation
for some examples on how to create user-defined conditions.
The utility function CLINGON:EXIT
will not exit if the REPL is
connected via SLY or SLIME, which allows for better interactive
testing of the final application.
clingon
version 0.4.0
has been tagged.
- Added Github Actions to automatically test the
clingon
system. - Exported
CLINGON:PARSE-INTEGER-OR-LOSE
- Export symbols to control the default list of options for newly created commands. See issue #4
CLINGON:FIND-OPTION
can now search for options by their keysCLINGON:GETOPT
returns three values – the option value, a boolean indicating whether the option was set, and the command which provided the option.- If
--version
is specified for any command, thenclingon
will try to find a parent command with an associated version string, if the sub-command does not provide it’s own version string. - Added
CLINGON:GETOPT*
which will return the first value from the command’s lineage, for which the option was defined and set. - Added
CLINGON:IS-OPT-SET-P*
predicate - Additional tests related to
CLINGON:GETOPT
andCLINGON:GETOPT*
- Added support for persistent options. A persistent option is an option which is propagated from parent to all sub-commands. Please refer to the documentation for more details and examples.
CLINGON:PRINT-DOCUMENTATION
can generate the tree representation for commands in Dot format.
This is how the generated tree for the clingon-demo
app looks like.
Added support for pre-hook
and post-hook
actions for commands.
The CLIGON:COMMAND
class now accepts the :pre-hook
and
:post-hook
initargs, which allows specifying a function to be
invoked before and after the respective handler of the command is
executed.
The generic function CLINGON:APPLY-HOOKS
have been added, which
takes care of applying the pre-hook
and post-hook
hooks.
Version of clingon
system has been bumped to 0.3.5.
Add support for grouping related options into categories.
The :category
initarg for CLINGON:OPTION
is used for specifying
the option’s category.
New option kind has been added - :list/filepath
.
The clingon-demo
and clingon-intro
binaries are now installed into
the bin/
directory.
Additional utility functions have been implemented as part of the
CLINGON.UTILS
package.
clingon
system updated to version 0.3.3.
clingon
system updated to version v0.3.1.
Added support for FILEPATH
option kinds.
Added support for Zsh completions.
clingon
system version bumped to v0.3.0.
Initial release of clingon
version v0.1.0.