- Format option keys for long flags with dashes (#16)
- Add context for option parsing (#15)
- Remove dependency on slop library (#14)
- Include original error message when available
- Provide default UI instance and use for error output
- Automatically configure logger on command setup
- Prevent unexpected exception when no original is wrapped (#11)
- Merge command config to toplevel for UI options
- Prevent re-evaluation of configuration files (spox/bogo-config#6)
- Load configuration file prior to UI init
- Customize error output on configuration file load error (#9)
- Prevent defaults from overwriting configuration file values (#8)
- Ensure CLI defaults have precedence over configuration class defaults (#8)
- Process CLI values prior to configuration merge (#7)
- Include full exception message when debug mode enabled
- Process arguments and check for flags within list
- Run previous registered trap if provided
- Allow clean exit or exception raise in main thread on signal
- Trap and shutdown on TERM signal (mimic INT behavior)
- [hotfix] Resolve default option merging
- Include spec coverage for missed code path
- Properly merge user provided options on top of defaults
- Add helper method for determining if option is set as default
- [fix] Remove configuration items with
nil
values
- Add
Bogo::Cli#config_class
to specify customBogo::Config
- Always load provided args through config
- Bug fix on command initialization when options provided are Hash-like
- Remove nil value items from namespaced options hash prior to merge
- Output exception message when reporting error to get full content
- Trap INT to allow nicer user forced exits
- Automatically exit after command block is run
- Print help message and exit non-zero when no command is run
- Merge namespaced opts with globals when providing options to allow full config load
- Add
Bogo::Cli#config
method that merges#options
with#opts
- Pass namespaced configuration through to UI
- Always load bogo-config
- Remove options when value is nil (fixes merging issues)
- Proxy options to Ui instance when building
- Rescue ScriptError explicitly as it's not within StandardError
- Force passed options to Hash type and covert to Smash
- Force passed options keys to snake case
- Include slim error message on unexpected errors when not in debug
- Add version restriction to slop
- Allow usage of pre-built Ui instance
- Provide automatic output of hash or string for truthy results
- Add initial spec coverage
- Initial release