This changes the help messages for the serve command and the influxdb3 top level help output. This is to provide better help output and options for users compared to the clap defaults. After many iterations this code was the final design I landed on. In order to make our custom help work we: 1. Roughly parse the args to check for a given command and help message 2. If there is no subcommand we print out our custom help message for the top level command 3. If there is a subcommand we only print it out for serve currently 4. --help-all prints a more detailed message This lets us upgrade our help messages in place over time as the subcommands themselves have subcommands that also need their own help messages. For now we only include these two. We could not use something like `clap-help` or derive the output from the derived clap struct automatically due to multiple issues, but suffice to say the main thing was that we could not parse the args into the `Config` struct and then figure out our help message and `clap`'s message template function was too underpowered. We also wanted to create a `help-all` flag and this was quite hard to make work with `clap`'s short and long help. In the end the best option was to roll our own. While a bit hacky in terms of us maintaining it, the overall outcome should be a much nicer user experience in which they can have much better introductions to the tool. `serve` was quite egregious with a lot of output and very little actionable options to use for most users. Closes #26201 |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml |