Commit Graph

938 Commits

Author SHA1 Message Date
Janne Valkealahti
b7ad099cc2 Basic zsh completion support
- 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
2023-11-16 10:31:52 +00:00
Janne Valkealahti
2d29050c34 Make Catalog browsers focusable with shortcuts
- 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
2023-11-12 16:43:11 +00:00
Janne Valkealahti
a9b1675595 Upgrade antora-extensions 1.8.1
- Relates #922
2023-11-10 09:33:40 +00:00
Janne Valkealahti
8055a7ef4f Polish asciinema casts
- Polishing cast files should also temporarily
  do workaround for #922 until it's fixed on
  antora extension layer.
2023-11-08 10:20:59 +00:00
Janne Valkealahti
8097f1eb91 Pin python 3.11 in e2e tests
- Relates #909
2023-11-07 11:16:07 +00:00
Janne Valkealahti
ccf6d771d9 Add multiinput scenario
- 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
2023-11-07 08:26:43 +00:00
icodening
21d1ce8599 Bugfix: Tab-completion fails 2023-11-06 18:07:56 +00:00
Janne Valkealahti
d88fa16d8e Upgrade spring-boot 3.2.0-RC2
- Fixes #916
2023-11-03 17:24:46 +00:00
Janne Valkealahti
efdf83a1ed Upgrade jline 3.24.1
- 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
- Relates #891
- Relates #901
2023-11-03 14:27:40 +00:00
Janne Valkealahti
bba7a82ab4 Make StatusBarView work with hotkeys
- 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
2023-10-30 09:31:03 +00:00
Janne Valkealahti
db3f67784a Update docs 2023-10-28 09:16:42 +01:00
Janne Valkealahti
82df453cc0 Autoconfigure TerminalUI
- 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
2023-10-25 09:10:42 +01:00
Janne Valkealahti
f3b8bf3de1 Make ShellTestIntegrationTests more reliable
- Temp workaround for letting tests pass
- Relates #899
2023-10-21 09:03:01 +01:00
Janne Valkealahti
eacd6c3df4 Make DefaultEventLoopTests more reliable
- Temp workaround for letting tests pass
- Relates #898
2023-10-21 09:02:52 +01:00
Janne Valkealahti
e2a7f340f3 Upgrade spring-boot 3.2.0-RC1
- Fixes #895
2023-10-20 17:33:14 +01:00
Janne Valkealahti
8f59c954e1 Upgrade gradle 8.4
- Fixes #896
2023-10-20 09:10:27 +01:00
Janne Valkealahti
4871b19c58 Polish 2023-10-20 09:03:08 +01:00
Janne Valkealahti
92eb7dd2b7 Relocate message package from view
- Relates #813
2023-10-20 08:48:36 +01:00
Janne Valkealahti
433c1f96f0 Relocate geom package from view
- Relates #813
2023-10-20 08:38:01 +01:00
Janne Valkealahti
d77bcac59c Update docs 2023-10-20 08:07:17 +01:00
Eddie
1b4170845f Update StringTemplate version in gradle.properties
Newer version contains bugfixes
2023-10-19 14:44:30 +01:00
Janne Valkealahti
8de0ef47df Better background handling in themes
- 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
2023-10-19 13:12:42 +01:00
Janne Valkealahti
860c8dcb93 Migrate docs shell samples to asciinema
- Update antora settings
- Move cast files and remove old ones
- Switch shell svg's to asciinema
- Fixes #884
2023-10-14 15:45:09 +01:00
Janne Valkealahti
52b242dcbf Polish scenario descriptions 2023-10-13 14:07:59 +01:00
Janne Valkealahti
f4eec7b809 Update docs 2023-10-08 15:16:20 +01:00
Janne Valkealahti
b6d1958949 HotKey can set focus
- Fix AbstractView to return focus info for hotkey handler
- TerminalUI sets focus from returned key handling
  for hotkeys
- Fixes #881
2023-10-08 09:19:47 +01:00
Janne Valkealahti
edddc0b2e8 Update docs 2023-10-07 15:35:42 +01:00
Janne Valkealahti
923498bbcf Update docs 2023-10-07 15:23:24 +01:00
Janne Valkealahti
8716774236 Enhance TerminalUI eventing
- New methods in an eventloop and message builder
- Generic polish to use these methods
- Relates #761
2023-10-07 14:56:54 +01:00
Janne Valkealahti
9a5f189783 Update docs 2023-10-07 08:09:51 +01:00
Janne Valkealahti
2e95fccbd5 Update docs 2023-10-06 17:25:34 +01:00
Janne Valkealahti
6f7eac435a Update docs 2023-10-06 17:07:16 +01:00
Janne Valkealahti
2819c1d367 Update docs 2023-10-06 16:39:50 +01:00
Janne Valkealahti
825db92117 Update docs 2023-10-06 15:58:56 +01:00
Janne Valkealahti
1417e33f92 Update docs 2023-10-06 15:34:37 +01:00
Janne Valkealahti
89a829cfef Update docs 2023-10-06 13:40:48 +01:00
Janne Valkealahti
6dd038830f Fix wrong groupId in docs
- Fixes #852
2023-09-25 09:09:19 +01:00
Janne Valkealahti
c18c482ad2 Update readme 2023-09-24 09:05:19 +01:00
Janne Valkealahti
da529fa277 Make samples native build fully optional
- Add springShellSampleNative project property
- Implement generic samples build logic in buildSrc
- Fixes #873
2023-09-24 08:37:32 +01:00
Janne Valkealahti
585125d2e3 TerminalUI can define rootView rect
- 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
2023-09-22 09:00:22 +01:00
Janne Valkealahti
a79ecbc069 Upgrade spring-boot 3.2.0-M3
- Fixes #871
2023-09-21 16:56:24 +01:00
Janne Valkealahti
d58293e700 Support view commands in view
- 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
2023-09-21 09:03:58 +01:00
Janne Valkealahti
af519b5766 Context close docs
- Relates #863
2023-09-12 08:08:39 +03:00
Janne Valkealahti
2e5264a379 Optionally close context after command logic
- spring.shell.context.close=true adds ApplicationListerner
  which attempts to close context with ApplicationReadyEvent.
- Relates #863
2023-09-12 08:08:23 +03:00
Janne Valkealahti
51c250608b Overhaul ListView to support checked states
- 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
2023-09-09 08:59:37 +03:00
Janne Valkealahti
a679de0067 Add missing ascii keys to KeyEvent
- Relates #823
2023-09-09 08:48:17 +03:00
Janne Valkealahti
aa3c580220 Move interrupt message to ShellMessageBuilder
- Relates #761
2023-08-30 09:19:35 +03:00
Janne Valkealahti
a3ca69bc72 Non-fullscreen view
- ViewComponent can take view and drive it as non-fullscreen
- ViewDoneEvent which InputView now uses
- ComponentUiCommands is a sample where we add ideas for
  views in flow components
- Allow View to set eventloop
- Relates #850
2023-08-30 08:38:46 +03:00
Janne Valkealahti
ba691de250 Upgrade gradle 8.3.0
- Fixes #861
2023-08-26 08:35:30 +03:00
Janne Valkealahti
e0a366aa81 Upgrade spring-boot 3.2.0-M2
- Fixes #860
2023-08-25 09:42:26 +03:00