use crate::*;
/// Enumerate different styles to display parameters/properties.
-#[derive(Copy, Clone, PartialEq)]
+#[derive(Copy, Clone, PartialEq, Eq)]
pub enum ParameterDisplayStyle {
/// Used for properties in configuration files: ``key:``
Config,
}
/// CLI usage information format.
-#[derive(Copy, Clone, PartialEq)]
+#[derive(Copy, Clone, PartialEq, Eq)]
pub enum DocumentationFormat {
/// Text, command line only (one line).
Short,
if !indent.is_empty() {
param_descr = format!("{}{}", indent, param_descr); // indent first line
- param_descr = param_descr.replace("\n", &format!("\n{}", indent)); // indent rest
+ param_descr = param_descr.replace('\n', &format!("\n{}", indent)); // indent rest
}
if style == ParameterDisplayStyle::Config {
}) = schema
{
for item in variants.iter() {
- res.push_str(&format!(":``{}``: ", item.value));
+ use std::fmt::Write;
+
+ let _ = write!(res, ":``{}``: ", item.value);
+ //res.push_str(&format!(":``{}``: ", item.value));
let descr = wrap_text("", " ", item.description, 80);
res.push_str(&descr);
res.push('\n');
}
pub fn dump_api_return_schema(returns: &ReturnType, style: ParameterDisplayStyle) -> String {
+ use std::fmt::Write;
+
let schema = &returns.schema;
let mut res = if returns.optional {
};
let type_text = get_schema_type_text(schema, style);
- res.push_str(&format!("**{}**\n\n", type_text));
+ //res.push_str(&format!("**{}**\n\n", type_text));
+ let _ = write!(res, "**{}**\n\n", type_text);
match schema {
Schema::Null => {
impl fmt::Display for ParameterError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ use std::fmt::Write;
+
let mut msg = String::new();
if !self.is_empty() {
}
for (name, err) in self.error_list.iter() {
- msg.push_str(&format!("parameter '{}': {}\n", name, err));
+ let _ = writeln!(msg, "parameter '{}': {}", name, err);
}
write!(f, "{}", msg)