Skip to content

Commit

Permalink
forc-tx: Improve error handling using thiserror. Fix panic!ing …
Browse files Browse the repository at this point in the history
…version/help output. (FuelLabs#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 FuelLabs#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 FuelLabs#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.
  • Loading branch information
mitchmindtree authored Feb 17, 2023
1 parent 5c23176 commit 729f8b3
Show file tree
Hide file tree
Showing 4 changed files with 288 additions and 36 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions forc-plugins/forc-tx/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ devault = "0.1"
fuel-tx = { workspace = true, features = ["serde"] }
serde = "1.0"
serde_json = { version = "1" }
thiserror = "1"
Loading

0 comments on commit 729f8b3

Please sign in to comment.