- Previously CommandParser contained parser which was
scannerless type of brute force parsing of command
line args.
- Contract in that old parser wasn't super clear what
is its role with caller as it was given options
and registration was parsed in a Shell class.
- Add completely new parser package which has better
model and which will be much easier to modify for
future needs.
- Change some interfaces around parsing so that we do
as much in this new parsing model instead of pre-parsing
something in a Shell class.
- We also try to move away from using exceptions as
a message delivery which had its own problems. Instead
introducing parser messages which gives better info
when errors are detected.
- Add ParserConfig class which allows to expose settings
to change some parser features. Later this will be
exposed to user so that some features can be turned on/off
for an actual shell needs.
- Fixes#646