mirror of
https://github.com/clap-rs/clap
synced 2025-03-04 15:27:16 +00:00
parent
afefdc9414
commit
bf3f25ebb2
3 changed files with 20 additions and 3 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
#![cfg_attr(not(feature = "usage"), allow(dead_code))]
|
||||||
|
|
||||||
/// Terminal-styling container
|
/// Terminal-styling container
|
||||||
///
|
///
|
||||||
/// Styling may be encoded as [ANSI Escape Code](https://en.wikipedia.org/wiki/ANSI_escape_code)
|
/// Styling may be encoded as [ANSI Escape Code](https://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||||
|
@ -47,6 +49,19 @@ impl StyledStr {
|
||||||
self.0 = self.0.trim().to_owned()
|
self.0 = self.0.trim().to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) fn trim_start_lines(&mut self) {
|
||||||
|
if let Some(pos) = self.0.find('\n') {
|
||||||
|
let (leading, help) = self.0.split_at(pos + 1);
|
||||||
|
if leading.trim().is_empty() {
|
||||||
|
self.0 = help.to_owned()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn trim_end(&mut self) {
|
||||||
|
self.0 = self.0.trim_end().to_owned()
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(feature = "help")]
|
#[cfg(feature = "help")]
|
||||||
pub(crate) fn replace_newline_var(&mut self) {
|
pub(crate) fn replace_newline_var(&mut self) {
|
||||||
self.0 = self.0.replace("{n}", "\n");
|
self.0 = self.0.replace("{n}", "\n");
|
||||||
|
|
|
@ -30,8 +30,10 @@ pub(crate) fn write_help(writer: &mut StyledStr, cmd: &Command, usage: &Usage<'_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove any extra lines caused by book keeping
|
// Remove any lines from unused sections
|
||||||
writer.trim();
|
writer.trim_start_lines();
|
||||||
|
// Remove any whitespace caused by book keeping
|
||||||
|
writer.trim_end();
|
||||||
// Ensure there is still a trailing newline
|
// Ensure there is still a trailing newline
|
||||||
writer.push_str("\n");
|
writer.push_str("\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1342,7 +1342,7 @@ fn dont_strip_padding_issue_5083() {
|
||||||
Command::new("two"),
|
Command::new("two"),
|
||||||
Command::new("three"),
|
Command::new("three"),
|
||||||
]);
|
]);
|
||||||
static EXPECTED: &str = "one
|
static EXPECTED: &str = " one
|
||||||
two
|
two
|
||||||
three
|
three
|
||||||
help Print this message or the help of the given subcommand(s)
|
help Print this message or the help of the given subcommand(s)
|
||||||
|
|
Loading…
Add table
Reference in a new issue