Commit Graph

150 Commits

Author SHA1 Message Date
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
af519b5766 Context close docs
- Relates #863
2023-09-12 08:08:39 +03:00
Janne Valkealahti
787d09e2b0 Downgrade node in antora build
- Mostly to make it easier for those who can't yet use node 18.
2023-08-04 15:20:23 +01:00
Rob Winch
1d7077bf52 Migrate to Asciidoctor Tabs 2023-08-03 15:25:32 -05:00
Rob Winch
b69312c683 Polish nav.adoc 2023-08-03 15:25:32 -05:00
Rob Winch
d0cd904f38 Escape {} for non asciidoc attributes 2023-08-03 15:25:32 -05:00
Rob Winch
f8256d0671 Add symlink 2023-08-03 15:25:32 -05:00
Rob Winch
bd08352020 Add Antora Gradle Build 2023-08-03 15:25:19 -05:00
Rob Winch
2ee3fff367 Enable Section Summary TOC for small pages 2023-08-03 14:58:09 -05:00
Rob Winch
d1105f5b8e Fix cross references 2023-08-03 14:58:09 -05:00
Rob Winch
17d0b3b89a Remove includes 2023-08-03 14:58:09 -05:00
Rob Winch
94dccea766 Generate a default navigation 2023-08-03 14:58:09 -05:00
Rob Winch
ce65cf67f6 Fix indentation for all pages 2023-08-03 14:58:09 -05:00
Rob Winch
02964ae385 Copy default antora files 2023-08-03 14:58:09 -05:00
Rob Winch
ca59c54b8a Fix image::image 2023-08-03 11:11:12 -05:00
Rob Winch
f846e7ea07 Insert explicit ids for headers 2023-08-03 11:11:12 -05:00
Rob Winch
9b5ed3a9eb Migrate Structure 2023-08-03 11:11:12 -05:00
Rob Winch
2ba6990f72 Remove unused using-shell-options-generic.adoc 2023-08-03 10:28:09 -05:00
Janne Valkealahti
a0bdbfc033 Initial terminal ui implementation
- This commit adds proof of concept work for terminal ui as is.
- Some things work, some don't but we need to start from somewhere.
  Further development continues in a main.
- Essentially we are starting to have enough so that it merits to
  move all this work into a main repo.
- Everything new is kept under org.springframework.shell.component.view
  and will get revisiter later to find correct locations for some classes.
- Catalog sample has been modified to provide "showcase" app for
  terminal ui features. This is a start while it already contains
  some usefull scenarios.
- Relates #800
- Relates #801
- Relates #802
- Relates #803
- Relates #804
- Relates #805
- Relates #806
- Relates #807
- Relates #808
- Relates #809
- Relates #810
- Relates #811
2023-07-15 16:42:39 +01:00
Janne Valkealahti
6fd1a1c78a Add primary command docs
- Relates #755
2023-07-05 10:34:17 +01:00
Janne Valkealahti
df40964e7b Document CommandNotFoundMessageProvider
- Relates #778
2023-06-23 06:30:30 +01:00
Janne Valkealahti
7f9efd1374 Fix docs for option label
- Relates #732
2023-05-01 17:27:05 +01:00
Janne Valkealahti
a0ad3ad797 Support label with @Option
- Add `label` field into `@Option`. This sets option label if
  `label` field has any text.
- Fixes #732
2023-05-01 17:11:03 +01:00
Janne Valkealahti
755cf66350 Update annotation docs
- Relates #637
2023-05-01 09:25:23 +01:00
Janne Valkealahti
9d27466c6a Support explicit arity min max with @Option
- @Option now has arityMin/arityMax which if defined,
  non-negative, are used instead of arity.
- Fixes #731
2023-05-01 08:36:41 +01:00
Janne Valkealahti
c36aa41878 Use tabs in samples
- Use tabbing model from a new docs backend.
- Relates #637
2023-05-01 08:29:37 +01:00
Janne Valkealahti
b934ddeccb Polish 2023-04-10 15:56:11 +01:00
Janne Valkealahti
5a4a241cb8 Refactor short option docs
- Add e2e samples
- Add short option snippets as tabs content(to get later
  converted to an actual tabs).
- Relates #637
2023-04-10 14:48:57 +01:00
Janne Valkealahti
62e469be49 Polish naming in docs
- Relates #637
2023-04-08 17:15:47 +01:00
Janne Valkealahti
efbc223118 Refactor option basic docs
- Document better a relationship between annotation,
  legacy annotation and programmatic registration.
- Relates #637
2023-04-07 16:54:55 +01:00
Janne Valkealahti
575d95428b Update docs copyright year 2023-03-18 16:50:38 +00:00
Janne Valkealahti
a9c52e2a19 Add notes to docs about new annotation model
- Relates #637
2023-03-18 16:40:34 +00:00
Simon Verhoeven
60126b9c47 Rename setMaskCharater to setMaskCharacter 2023-03-12 16:08:54 +00:00
Janne Valkealahti
fd73531986 Document @Option long name
- Relates #637
2023-02-24 12:18:16 +00:00
Janne Valkealahti
07e08b36a7 Document registration with @Command
- Split and separate new annotations with legacy annotations
  on a registration level.
- Relates #637
2023-02-24 09:55:26 +00:00
Janne Valkealahti
44734fd634 Rename command registration doc files 2023-02-23 09:57:42 +00:00
Janne Valkealahti
a95e60dd8b Test terminal can set dimensions
- 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
2023-02-05 15:24:36 +00:00
Janne Valkealahti
2f298ccb6a Define CommandExceptionResolver bean order
- CommandParserExceptionResolver uses default bean
  order -100.
- Fixes #634
2023-01-25 17:57:13 +00:00
Janne Valkealahti
56b9cb20ef Document String array option type
- Fixes #628
2023-01-19 11:32:37 +00:00
Janne Valkealahti
a04091c08f Support modify option names
- 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
2023-01-15 10:02:55 +00:00
Janne Valkealahti
95e2829dc3 Revisit positional arguments
- Add better mapping logic
- Add better type conversion
- More docs for arity and positional option configuration
- Fixes #616
2023-01-13 15:11:38 +00:00
Janne Valkealahti
f91b255bda Create BuilderSupplier interface
- Fixes #607
2023-01-08 13:38:33 +00:00
Janne Valkealahti
bf2692c70c Support exception handling with annotated methods
- New annotations ExceptionResolver and ExitCode
- New needed functionality is in classes ExceptionResolverMethodResolver
  and MethodCommandExceptionResolver.
- Hook these annotations with StandardMethodTargetRegistrar and Shell classes
- Fixes #597
2023-01-01 14:51:05 +00:00
Janne Valkealahti
b98cb4926d Fix typo
- Relates #579
2022-12-08 10:02:46 +00:00
Janne Valkealahti
83e906d2e7 Document writing to console
- Relates #579
2022-12-08 09:51:59 +00:00
Janne Valkealahti
e5570ae62c Add search algo docs
- Relates #579
2022-12-06 09:00:24 +00:00
Janne Valkealahti
74c04a4964 Polish getting started
- Relates #579
2022-12-05 13:59:37 +00:00
Janne Valkealahti
ef191e66f3 Add support for global help options
- 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
2022-12-04 17:23:25 +00:00
Janne Valkealahti
d3e897f6d9 Add base shell test system
- 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
2022-11-30 09:09:35 +00:00