aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/argument_parsing.rs
diff options
context:
space:
mode:
authordatdenkikniet <jcdra1@gmail.com>2023-04-15 13:18:18 +0200
committerdatdenkikniet <jcdra1@gmail.com>2023-04-15 13:21:09 +0200
commitdf69b35c250eff5858d6e994a9866be35b987a6e (patch)
tree68b27c0fc72cc70db7dc582bd57a1a8d3d8bc93f /xtask/src/argument_parsing.rs
parentcefb622cf8ccfb8f50dff7ca2327d7dea5be7b7a (diff)
More housekeeping and making it work that bit better
Diffstat (limited to 'xtask/src/argument_parsing.rs')
-rw-r--r--xtask/src/argument_parsing.rs22
1 files changed, 21 insertions, 1 deletions
diff --git a/xtask/src/argument_parsing.rs b/xtask/src/argument_parsing.rs
index 77433ee..3a89dfc 100644
--- a/xtask/src/argument_parsing.rs
+++ b/xtask/src/argument_parsing.rs
@@ -209,7 +209,8 @@ pub enum Commands {
FormatCheck(PackageOpt),
/// Format code
- Format(PackageOpt),
+ #[clap(alias = "fmt")]
+ Format(FormatOpt),
/// Run clippy
Clippy(PackageOpt),
@@ -266,6 +267,15 @@ pub enum Commands {
}
#[derive(Args, Debug, Clone)]
+pub struct FormatOpt {
+ #[clap(flatten)]
+ pub package: PackageOpt,
+ /// Only check formatting, without applying fixes.
+ #[clap(short, long, alias = "check-only")]
+ pub check: bool,
+}
+
+#[derive(Args, Debug, Clone)]
/// Restrict to package, or run on whole workspace
pub struct PackageOpt {
/// For which package/workspace member to operate
@@ -315,3 +325,13 @@ pub enum ExtraArguments {
#[command(external_subcommand)]
Other(Vec<String>),
}
+
+impl core::fmt::Display for ExtraArguments {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ ExtraArguments::Other(args) => {
+ write!(f, "{}", args.join(" "))
+ }
+ }
+ }
+}