[][src]Trait uniquote::Quote

pub trait Quote {
    fn escape(&self, formatter: &mut Formatter) -> Result;

#[must_use]    fn quote(&self) -> QuotedDisplay<&Self> { ... }
}

The trait used to quote strings.

Required methods

fn escape(&self, formatter: &mut Formatter) -> Result

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());
Loading content...

Provided methods

#[must_use]fn quote(&self) -> QuotedDisplay<&Self>

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());
Loading content...

Implementations on Foreign Types

impl Quote for [u8][src]

impl Quote for char[src]

impl Quote for str[src]

impl<const N: usize> Quote for [u8; N][src]

impl Quote for String[src]

impl Quote for Vec<u8>[src]

impl Quote for OsStr[src]

impl Quote for CString[src]

impl Quote for OsString[src]

impl Quote for PathBuf[src]

impl Quote for CStr[src]

impl Quote for Path[src]

Loading content...

Implementors

Loading content...