New Features and Changelog

Release 1.1.0

28.07.2024

New features

  • Function colorprint now supports keywords bold, italic, underline and blink, and accepts both String and Symbol as its color arg.

Release 1.0.0 - changes as compared to SimpleArgParse

13.07.2024

Breaking changes

  • Renamed exported/public mutating functions, e.g. add_example => add_example!.
  • Mutating functions do not return ArgumentParser anymore: They return either nothing, or an Exception.
  • Limited the number of exported functions.
  • Hashmap keys no more used, therefore get_key function removed.
  • Removed has_key function - use haskey instead.
  • Removed required field of ArgumentParser: If a default value provided, then argument is obviously optional, otherwise considered required.
  • Removed authors, documentation, repository, and license fields of ArgumentParser: Should you need them, see Example 4 and the file legacy_parser.jl.
  • Minimal Julia version set to v1.9.
  • Anything forgotten?..

New features

  • Support for (extensible) validators (example).
  • Support for extensible parsers (example).
  • Support for positional arguments (example).
  • Support for use from console apps (example).
  • The added function initparser simplifies initilalization of nested structs.
  • The added function args_pairs makes it possible get all arguments at once as pairs [argname => argvalue].
  • Depending on value of throw_on_exception field, functions processing the input would either throw on erroneous input, or return an Exception object for a less disruptive processing downstream.
  • Anything forgotten?..

Other changes

  • Precompile package using PrecompileTools.jl to improve startup time.
  • General code refactoring.
  • Made use of public keyword introduced in the coming Julia v1.11.
  • Test suite extended and now includes Aqua.jl testing, too.
  • Extensive Documenter.jl-based documentation you are reading now.
  • Examples added.
  • As already mentioned, this package is a fork of SimpleArgParse.
  • The popular ArgParse offers much of the same functionality and more.
  • Comonicon, a CLI (Command Line Interface) generator.
  • Fire is a library for creating simple CLI from julia function definitions.
  • mce (Maurice) CLI - The Julia Language project manager, with useful functionality for beginners and advanced programmers ... currently in the 'Alpha' phase.
  • The package GivEmExel relies heavily onto YAArguParser and has been the stimulus for it's development.

Likes & dislikes?

Star on GitHub, open an issue, contact me on Julia Discourse.

© 2024 Eben60

Portions of this software are based in part on the work by Adam Erickson

© 2024 Adam Erickson

MIT License (see separate file LICENSE)