- 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
- Looks like some infocmp capabilities for making cursor visible
using cvvis doesn't always work. So change to use cnorm instead.
- Terminal instruction of making cursor very visible with cvvis
doesn't mean cursor should be visible, afaik, so i.e. screen
or tmux didn't work.
- Backport #970
- Fixes#972
- ApplicationConversionService extends FormattingConversionService
and defines some additional default converters like
StringToFileConverter which makes `script` command work
under native with given file type option.
- Backport #960
- Fixes#964
- Migitates changed behaviour in boot how exceptions are
handled thus caused trouble with exit code mappings
on a shell side.
- Backport #961
- Fixes#962
- In #946 we added new ways to add items to single selector while still
keeping Map<String, String>. Order to keep old sorting behaviour
we try to pass incoming map via new HashMap as that was a way it
worked. This should limit risks for breaking things in a patch release.
- 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
- This adds basic zsh support similarly to
existing bash completion
- New command "completion zsh"
- Fix internal recursive command completion model for
cases with deep nested commands
- Backport #927
- Fixes#929
- Disable jni terminal provider in test ShellAutoConfiguration
like it's done for jna/jansi
- Default TerminalBuilder system outpu to SysOut to restore
writing to stdout instead of stderr when redirect exists
- Backport #891
- Backport #901
- Fixes#913
- Fixes#910
- Polish mandatory option message by using
same format as in 3.0.x. (old parser)
- Remove prefixed code/position parts from
all messages coming from a parser. (new parser)
- Backport #815
- Fixes#816
- NonInteractiveShellRunner can now shortcircuit into primary command
just running it and passing args.
- Add hooks into autoconfig so that this is easy to configure.
- Backport #755
- Relates #799
- Fix alias command extraction from existing @Command
annotations so that we actually get multiple aliases
defined if more than one defined on a method level.
- Fix rendering issue in a help stg template when
multiple aliases exists.
- Backport #796
- Fixes#798
- Change to have better support for args like:
"--arg1 a --arg2 b"
"--arg1 a --arg2 b c"
"--arg1 a c --arg2 b c"
"c --arg1 a --arg2 b"
where option can have default values and position of
positional args doesn't matter that much.
- Make parser to be aware of if it's handling last option
so that we can differentiate if error can be given i.e.
with too many args, etc.
- Backport #795
- Fixes#797
- New CommandNotFoundResultHandler which handles
CommandNotFound to be able to customize error shown.
- New CommandNotFoundMessageProvider which is a plain
function given a "context" and returns a string.
Context contains common info to provide better
error messages.
- Default provider gives same message but
removes long stacktrace(which previously originated
from a common ThrowableResultHandler.
- Backport #778
- Relates #793