- Add first preliminary model of building and working with
higher level components.
- Components for text input, path input, single selector and
multi selector.
- Components renderings are based on ANTLR ST templates while
there is support for building rendering output manually.
- Add these into sample.
- This is a base of additional work what goes to these components
and concepts around it.
- Relates #360
- Add new styling system which works around concept that
you use tags to request jline styles where tags comes
from an activated theme.
- There is a default theme with options to add custom
ones and change it via property.
- Add templating system which uses antlr stringtemplate which
allows to write output with a template instead of manually
crafting code.
- Add version command which integrates to Boot's BuildProperties
and GitProperties. Only version field is visible on default
and others can be enabled/disable via properties.
- Fixes#352
- Fixes#353
- Add basic support of defining a command `completion bash` which
outputs a generic bash script which can be used in a user environment.
- Idea for completion is copied from go's cobra library what comes for
a bash dance itself.
- Goes through command registry, builds a model for command structure
and uses antlr st4 for templating bash.
- Should give foundation to create other completions just like in cobra.
- Currently as we don't know a root-command in a generic way, option
`spring.shell.command.completion.root-command` is required user to set.
- Fixes#343
This commit updates the JCommander version to 1.81.
The update also takes into account an issue that was
introduced in new versions of the JCommander, namely,
https://github.com/cbeust/jcommander/issues/377.
- Shuffle things around into different auto-config and configuration
classes and use other tricks like ObjectProvider to work around
boot 2.6.x imposing bean cycle checks.
- This is first set of changes to work around this issue, not
to make things perfect. Further refactoring work is needed
making code base more boot 2.x friendly as things are based
on boot 1.5.x times.
- Fixes#324