pub fn leak_string(s: String) -> &'static str {
Box::leak(s.into_boxed_str())
}
pub fn format_doc(doc: Option<&str>) -> Option<String> {
doc.map(|d| {
d.split('\n')
.map(str::trim)
.filter(|line| !line.is_empty())
.collect::<Vec<_>>()
.join(" ")
})
}
pub fn format_flag(flag: &str, takes_value: bool) -> String {
if takes_value {
format!("--{} <value>", flag)
} else {
format!("--{}", flag)
}
}