sway/forc-plugins
mitchmindtree 729f8b3bf8
forc-tx: Improve error handling using thiserror. Fix panic!ing version/help output. (#4085)
## Description

This introduces a `Command::parse` constructor that emulates the
behaviour of the `clap` parse constructor in order to provide a more
consistent clap-like CLI experience. For context, we cannot use the
generated `parse` command due to limitations in clap's ability to handle
trailing subcommands as mentioned in #3804.

We switch to using `thiserror` in the library in order to allow for
handling error cases (necessary for the new `parse` constructor) and to
provide cleaner, more detailed error cause traces.

The help and version output no longer panic, and now behave like regular
clap applications. Closes #3886.

Also adds an example command invocation to the end of the `--help`
output.

## Checklist

- [x] I have linked to any relevant issues.
- [x] I have commented my code, particularly in hard-to-understand
areas.
- [x] I have updated the documentation where relevant (API docs, the
reference, and the Sway book).
- [ ] I have added tests that prove my fix is effective or that my
feature works.
- [x] I have added (or requested a maintainer to add) the necessary
`Breaking*` or `New Feature` labels where relevant.
- [x] I have done my best to ensure that my PR adheres to [the Fuel Labs
Code Review
Standards](https://github.com/FuelLabs/rfcs/blob/master/text/code-standards/external-contributors.md).
- [x] I have requested a review from the relevant team or maintainers.
2023-02-17 13:25:15 +08:00
..
forc-client Bump to v0.35.1 (#4088) 2023-02-15 16:56:49 -05:00
forc-doc Bump to v0.35.1 (#4088) 2023-02-15 16:56:49 -05:00
forc-fmt bug(fmt): do not iteratively call forc-fmt over members on the root dir (#4038) 2023-02-16 10:40:34 +08:00
forc-lsp Bump to v0.35.1 (#4088) 2023-02-15 16:56:49 -05:00
forc-tx forc-tx: Improve error handling using thiserror. Fix panic!ing version/help output. (#4085) 2023-02-17 13:25:15 +08:00