- Add ScenarioContext which knows about View and start/stop
runnable methods.
- Change Catalog to rely on ScenarioContext and call
start/stop on an appropriate moment.
- Still keep Scenario.build() around so that we have time
to refactor in favour of ScenarioContext.buildContext()
or whatever build() method in it should be.
- Fixes#1004
- Fix run detection so that @ has to be first character in a first
argument and it also has additional content, like @path-to-file.
- This fixes issue where `--arg @` would blow up as an normal
option argument.
- Fixes#996
- Polish a lot of things
- Do updates/redraw internally with eventloop as it'd be super
inconvenient asking user to handle this externally
- Rewrite sample to be more unified for various cases
- Set eventloop from ViewComponent
- Relates #995
- Modifies ViewComponent with changed api's so that
it can be executed with a thread allowing caller
not to block.
- Add ViewComponentBuilder concept and create is as
a bean similar to TerminalUIBuilder.
- Relates #997
- Move spinner frame calculation to item itself so that
- Remove spinnerFrame from state and add
start/update times
- view don't have hard dependency to it, as we'd
need its interval
- Change spinner to run only when view is running
- Relates #995
- Exposing eventloop if user need to interact with it
- Add api/feature to set used view rect expand to
full terminal width
- Add plain ProgressView samples
- Relates #995
- Fixes#997
- Provides a basic feature set for ProgressView.
- Progress can have a set of items which are driven
by function style factory interface.
- New class TextCell which is a base of progress items.
- Not yet fully working and further changes, samples, docs
will come in other commits.
- Relates #995
- 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.
- Fixes#779
- 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.
- Fixes#945
- 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.
- Fixes#970
- ApplicationConversionService extends FormattingConversionService
and defines some additional default converters like
StringToFileConverter which makes `script` command work
under native with given file type option.
- Fixes#960
- 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.
- Fixes#946
- 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
- Fixes#927
- Category and scenario list views can now be focused with
ctrl+a/ctrl+s.
- Bind all keys with ctrl modifier
- Add "shortcut" concept to views which currently hooks to
hot keys.
- In a catalog app by using a "shortcut" then takes the key
event as a hot key, as it consumes resulting behaviour
is to focus.
- Move view initInternal away from constructor call to
require user to call init() which is not in a
View interface
- Relates #826