Replies: 5 comments 17 replies
-
First, I want to say, thank you for providing feedback! As discussed in #2806, we had user confusion from people assuming turning on color would turn it on everywhere. Something that might not have been mentioned is that we are also trying:
|
Beta Was this translation helpful? Give feedback.
-
Could you help me understand why |
Beta Was this translation helpful? Give feedback.
-
For this one, I think we should first be focusing on how we can improve the existing colored help. For example, maybe less color and careful placement of bold (help headings), dimmed (parenthetical statements ( If we find we can't take the feedback from different sources and come to a "good enough" result for everyone, I think thats then the time to consider adding in a |
Beta Was this translation helpful? Give feedback.
-
As a future workaround for this, one of the things we've been talking about is a more modular clap. One specific idea I've had is that we add a general reflection API. One user of that API would be a help builder API. We could then reuse help generation between Once we support this, you could then create custom help generation. Taking that a step further, help is pretty static (except text width, as long as you don't have runtime defaults). What if we supported a way to code-gen the help and and disable the runtime help generation, reducing binary bloat. This would not be available at release of clap3, so one option is to have a |
Beta Was this translation helpful? Give feedback.
-
I agree that it's…I hate to say ugly, but certainly with my terminal colors it is. I'm very surprised there is no flag like …
let mut sc = dash::clap_app();
let mut argparser = App::new("MFEKpathops")
.setting(AppSettings::SubcommandRequired)
.setting(AppSettings::DisableVersionFlag)
.setting(AppSettings::DisableHelpSubcommand)
.author("Fredrick R. Brennan <copypasteⒶkittens⊙ph>; MFEK Authors")
.about("A utility for applying stroking techniques to contours (in UFO .glif format).");
let argparser_sc = argparser.clone().subcommand(sc.clone());
let cc = if let Err(e) = argparser_sc.clone().try_get_matches() {
if e.kind == clap::ErrorKind::DisplayHelp {
clap::ColorChoice::Never
} else {
clap::ColorChoice::Auto
}
} else {
clap::ColorChoice::Never
};
sc = sc.color(cc);
argparser = argparser.color(cc).subcommand(sc);
let matches = argparser.get_matches();
… I'm interested in the result of this discussion because this is an equally ugly hack (in the service of the removal of ugliness to users, I suppose I must sustain some myself 😄). |
Beta Was this translation helpful? Give feedback.
-
@dbrgn
(split out from #2845)
Beta Was this translation helpful? Give feedback.
All reactions