Trait uniquote::Quote[][src]

pub trait Quote {
    fn escape(&self, f: &mut Formatter<'_>) -> Result;

    fn quote(&self) -> QuotedDisplay<&Self> { ... }
}
Expand description

The trait used to quote strings.

Required methods

Escapes a string using the format described in the the module-level documentation, without the surrounding quotes.

This method is only used to provide new implementations of this trait.

Errors

Similar to Display::fmt, this method should fail if and only if the formatter returns an error. Since quoting is an infallible operation, these failures will only result from inability to write to the underlying stream.

Examples

use uniquote::Quote;

struct Strings<'a>(&'a str, &'a str);

impl Quote for Strings<'_> {
    fn escape(&self, f: &mut uniquote::Formatter<'_>) -> uniquote::Result {
        self.0.escape(f)?;
        ','.escape(f)?;
        self.1.escape(f)
    }
}

assert_eq!(r#""foo,bar""#, Strings("foo", "bar").quote().to_string());

Provided methods

Quotes a string using the format described in the the module-level documentation.

The returned struct will implement Display. It can be output using a formatting macro or converted to a string by calling ToString::to_string.

Examples

use std::env;

use uniquote::Quote;

println!("{}", env::current_exe()?.quote());

Implementations on Foreign Types

Implementors