Struct uucore::display::Quoted

pub struct Quoted<'a> { /* private fields */ }
Expand description

A wrapper around string types for displaying with quoting and escaping applied.

Implementations§

§

impl<'a> Quoted<'a>

pub fn native(text: &'a str) -> Quoted<'a>

Quote a string with the default style for the platform.

On Windows this is PowerShell syntax, on all other platforms this is bash/ksh syntax.

pub fn native_raw(text: &'a OsStr) -> Quoted<'a>

Quote an OsStr with the default style for the platform.

On platforms other than Windows, Unix and WASI, if the encoding is invalid, the Debug representation will be used.

pub fn force(self, force: bool) -> Quoted<'a>

Toggle forced quoting. If true, quotes are added even if no special characters are present.

Defaults to true.

pub fn external(self, external: bool) -> Quoted<'a>

When quoting for PowerShell, toggle whether to quote for external programs.

If enabled, double quotes (and sometimes backslashes) will be escaped so that they can be passed to external programs.

If disabled, quoting will suit internal commandlets and .NET functions. Strings that look like options or numbers will be quoted.

It is sadly impossible to quote a string such that it’s suitable for both external and internal commands.

The experimental PSNativeCommandArgumentPassing feature in PowerShell 7.2 disables the stripping of double quotes and backslashes. If it’s enabled then this setting should be disabled.

Defaults to false. This could change in a future (breaking) release.

Optional

This requires either the windows or the native feature. It has no effect on Unix-style quoting.

Trait Implementations§

§

impl<'a> Clone for Quoted<'a>

§

fn clone(&self) -> Quoted<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<'a> Debug for Quoted<'a>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> Display for Quoted<'a>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a, T> From<&'a T> for Quoted<'a>where T: Quotable + ?Sized,

§

fn from(val: &'a T) -> Quoted<'a>

Converts to this type from the input type.
§

impl<'a> Copy for Quoted<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Quoted<'a>

§

impl<'a> Send for Quoted<'a>

§

impl<'a> Sync for Quoted<'a>

§

impl<'a> Unpin for Quoted<'a>

§

impl<'a> UnwindSafe for Quoted<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.