From 88be4ee7c720d0412a3e53656a3bf94bed6e9113 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Mon, 19 Oct 2020 16:21:34 +0000 Subject: [PATCH] feat: help headings and colors --- --- a/Cargo.lock +++ b/Cargo.lock @@ -62,8 +62,8 @@ [[package]] name = "clap" -version = "3.0.0-beta.1" -source = "git+https://github.com/clap-rs/clap?rev=3e9ee86713b5c407b50ba76f30cffaed25952063#3e9ee86713b5c407b50ba76f30cffaed25952063" +version = "3.0.0-beta.2" +source = "git+https://github.com/clap-rs/clap?rev=1d0b21908f93478e75b4b1a21533d86325d39386#1d0b21908f93478e75b4b1a21533d86325d39386" dependencies = [ "atty", "bitflags", @@ -80,8 +80,8 @@ [[package]] name = "clap_derive" -version = "3.0.0-beta.1" -source = "git+https://github.com/clap-rs/clap?rev=3e9ee86713b5c407b50ba76f30cffaed25952063#3e9ee86713b5c407b50ba76f30cffaed25952063" +version = "3.0.0-beta.2" +source = "git+https://github.com/clap-rs/clap?rev=1d0b21908f93478e75b4b1a21533d86325d39386#1d0b21908f93478e75b4b1a21533d86325d39386" dependencies = [ "heck", "proc-macro-error", --- a/cmds/jrsonnet/Cargo.toml +++ b/cmds/jrsonnet/Cargo.toml @@ -23,4 +23,4 @@ [dependencies.clap] git = "https://github.com/clap-rs/clap" -rev = "3e9ee86713b5c407b50ba76f30cffaed25952063" +rev = "1d0b21908f93478e75b4b1a21533d86325d39386" --- a/cmds/jrsonnet/src/main.rs +++ b/cmds/jrsonnet/src/main.rs @@ -1,3 +1,4 @@ +use clap::AppSettings; use clap::Clap; use jrsonnet_cli::{ConfigureState, GeneralOpts, InputOpts, ManifestOpts, OutputOpts}; use jrsonnet_evaluator::{error::LocError, EvaluationState}; @@ -13,7 +14,7 @@ static GLOBAL: mimallocator::Mimalloc = mimallocator::Mimalloc; #[derive(Clap)] -// #[clap(help_heading = "DEBUG")] +#[clap(help_heading = "DEBUG")] struct DebugOpts { /// Required OS stack size. /// This shouldn't be changed unless jrsonnet is failing with stack overflow error. @@ -22,6 +23,10 @@ } #[derive(Clap)] +#[clap( + global_setting = AppSettings::ColoredHelp, + global_setting = AppSettings::DeriveDisplayOrder, +)] struct Opts { #[clap(flatten)] input: InputOpts, --- a/crates/jrsonnet-cli/Cargo.toml +++ b/crates/jrsonnet-cli/Cargo.toml @@ -13,4 +13,4 @@ [dependencies.clap] git = "https://github.com/clap-rs/clap" -rev = "3e9ee86713b5c407b50ba76f30cffaed25952063" +rev = "1d0b21908f93478e75b4b1a21533d86325d39386" --- a/crates/jrsonnet-cli/src/ext.rs +++ b/crates/jrsonnet-cli/src/ext.rs @@ -54,7 +54,7 @@ } #[derive(Clap)] -// #[clap(help_heading = "EXTERNAL VARIABLES")] +#[clap(help_heading = "EXTERNAL VARIABLES")] pub struct ExtVarOpts { /// Add string external variable. /// External variables are globally available so it is preferred --- a/crates/jrsonnet-cli/src/lib.rs +++ b/crates/jrsonnet-cli/src/lib.rs @@ -17,7 +17,7 @@ } #[derive(Clap)] -// #[clap(help_heading = "INPUT")] +#[clap(help_heading = "INPUT")] pub struct InputOpts { #[clap( long, @@ -33,7 +33,7 @@ } #[derive(Clap)] -// #[clap(help_heading = "OPTIONS")] +#[clap(help_heading = "OPTIONS")] pub struct MiscOpts { /// Disable standard library. /// By default standard library will be available via global `std` variable. --- a/crates/jrsonnet-cli/src/manifest.rs +++ b/crates/jrsonnet-cli/src/manifest.rs @@ -23,8 +23,7 @@ } #[derive(Clap)] -// TODO: Restore arg group after issue fixed in clap -// #[clap(group = clap::ArgGroup::new("output_format"), help_heading = "MANIFESTIFICATION OUTPUT")] +#[clap(group = clap::ArgGroup::new("output_format"), help_heading = "MANIFESTIFICATION OUTPUT")] pub struct ManifestOpts { /// Output format, wraps resulting value to corresponding std.manifest call. /// If set to `string` then plain string value is expected to be returned, @@ -33,7 +32,7 @@ format: ManifestFormatName, /// Expect plain string as output. /// Shortcut for `--format=string` thus this option is mutually exclusive with `format` option. - #[clap(long, short = 'S'/*, group = "output_format"*/)] + #[clap(long, short = 'S', group = "output_format")] string: bool, /// Write output as YAML stream, can be used with --format json/yaml #[clap(long, short = 'y')] --- a/crates/jrsonnet-cli/src/tla.rs +++ b/crates/jrsonnet-cli/src/tla.rs @@ -3,7 +3,7 @@ use jrsonnet_evaluator::{error::Result, EvaluationState}; #[derive(Clap)] -// #[clap(help_heading = "TOP LEVEL ARGUMENTS")] +#[clap(help_heading = "TOP LEVEL ARGUMENTS")] pub struct TLAOpts { /// Add top level string argument. /// Top level arguments will be passed to function before manifestification stage. --- a/crates/jrsonnet-cli/src/trace.rs +++ b/crates/jrsonnet-cli/src/trace.rs @@ -25,7 +25,7 @@ } #[derive(Clap)] -// #[clap(help_heading = "STACK TRACE VISUAL")] +#[clap(help_heading = "STACK TRACE VISUAL")] pub struct TraceOpts { /// Format of stack traces' display in console. /// `compact` format only shows `filename:line:column`s -- gitstuff