- With annotation(@Command) model it's now possible to just
add CommandContext and it will get resolved and doesn't
cause it to appear as an option.
- Backport #779
- Fixes#990
- Revisit how alias commands are added using
@Command annotation when using if/or on class
and/or method level.
- With this change alias handling is more logical
and there's better tests and docs.
- Backport #945
- Fixes#973
- This change makes single/multi same on an api level
where single selector used key/value map and multi
selector used list of SelectItem's.
- We still keep use of map on a single select but those
essentially go directly via SelectItem's.
- Backport #946
- Fixes#957
- ShellTest now has fields which can be used to
change terminal default widht/height.
- Backed by properties so can be used with
`spring.shell.test.terminal-width` and
`spring.shell.test.terminal-height`.
- Fixes#656
- New OptionNameModifier which is just a Function<String,String> to
modify a name.
- Can be defined per option in CommandRegistration.
- Can be defined as global default as bean.
- Default implementation for common case types is enabled via boot's
config props under spring.shell.option.naming.case-type
- Support facilities for camel, kebab, snake and pascal conversions.
- Fixes#621
- New annotations ExceptionResolver and ExitCode
- New needed functionality is in classes ExceptionResolverMethodResolver
and MethodCommandExceptionResolver.
- Hook these annotations with StandardMethodTargetRegistrar and Shell classes
- Fixes#597
- Essentially this commit registeres on default `--help` and
`-h` options to every command and execution short circuits
in presense of help options to help command.
- Add Supplier<CommandRegistration.Builder> as a bean which
can be autowired registration beans.
- Make this common bean customisable via CommandRegistrationCustomizer.
- Change StandardMethodTargetRegistrar to use supplier so that
annotated commands gets common customizations.
- Change sample commands to use supplier.
- Add new group, spring.shell.help to config props.
- Docs changes
- Fixes#582
- Fixes#585
- NOTE: very much wip and unstable
- This commit is a first step to provide boot style
@ShellTest annotation
- New modules spring-shell-test and spring-shell-test-autoconfigure
- Focus is to autoconfigure context without shell runners so that
we can create "sessions" and hook to configures jline terminal
with custom in/out streams.
- Skeleton fork from jediterm to provide basic terminal emulation
to part of a control amd escape characters working.
- ShellTestClient is a concept user can use to interact with a shell
in a same way user would use a "real" shell.
- Fixes#489
- CommandRegistration now has a structure to define
it beind hidden
- Modify relevant parts to filter out hidden commands
- Essentially command is hidden from all other than
command execution
- Sample in e2e tests
- Fixes#416