- Fix an issue where unknown option is wrongly
lexed as an argument if it's later than an known
valid option.
- Essentially if `arg1` is only valid option
`--arg1 value1 --arg2 value2` would not complain
about `arg2`.
- Fixes#1120
- Add unicode handling in flow components in
AbstractTextComponent which allows StringInput
to process unicode given from jline.
- This add basic non-english character support
for input.
- Fixes#1115
- Posix short style is expected to have only single
dash and letters so use this style to come up better
separation between options and arguments.
- Fixes#1077
- In ShellRunner interface replace use of boot's ApplicationArguments
into plain string array.
- Deprecate old methods with some fallbacks to give
time for users to do updates.
- NonInteractiveShellRunner contains one breaking change due to its
public api to set function doing conversion from ApplicationArguments
which was potentially used via customizer hooks.
- Deprecations planned to get removed in 3.4.x.
- Fixes#1057
- 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
- 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
- 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
- InputView using viewcommands and has event for text change.
- Experimental way to handle tab navigation in a layout views.
- New viewcommands for tab navigation and moving cursor.
- Mouse click takes focus in AbstractView if no view command
binding.
- MultiInputViewScenario now shows tab navigation.
- Fixes#917
- StatusItem can now define a hotkey which is then
bound to its action.
- In catalog app replace use of raw key event to
item's hotkey for status bar visibility.
- Various doc updates.
- Relates #826
- Add TerminalUIBuilder which can be used to build TerminalUI
- Add TerminalUICustomizer which can customize TerminalUI
- What is autoconfigured is TerminalUIBuilder.
- In TerminalUI add configure for views which now allows
easier way to set needed stuff in views.
- Various changes in a catalog app
- Fixes#900
- Modify view structures so that we're able to
control background drawing better
- Remove transparent concept from box view
- Add background styles for dialog, menu/status bars
- Relates #824
- Add functions to calculate Rectangle for fullscreen/nonfullscreen modes.
- Fixes for rendering so that nonfullscreen works better with views.
- Add some basic samples
- isEmpty method for Rectangle
- Fixes#872
- Setup facilities in view system to register commands
with a Runnable to get dispatched into an event loop.
- As first commands, setup ListView with lineDown and
lineUp.
- Expose needed functions into View itself.
- Relates #867
- ListView can be defined to use nocheck, checked or radio
- List can now scroll through up/down
- Actual visual is handled in a DefaultListCell
- Modify/add scenarios and catalog app
- Relates #865