Struct uucore::display::Quoted

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

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

Implementations§

source§

impl<'a> Quoted<'a>

source

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.

source

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.

source

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.

source

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§

source§

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

source§

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
source§

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

source§

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

Formats the value using the given formatter. Read more
source§

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

source§

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

Formats the value using the given formatter. Read more
source§

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

source§

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

Converts to this type from the input type.
source§

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

Auto Trait Implementations§

§

impl<'a> Freeze for Quoted<'a>

§

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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> ToOwned for T
where 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 T
where 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 T
where 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 T
where 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.