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>
impl<'a> Quoted<'a>
sourcepub fn native(text: &'a str) -> 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.
sourcepub fn native_raw(text: &'a OsStr) -> Quoted<'a>
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.
sourcepub fn force(self, force: bool) -> Quoted<'a>
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
.
sourcepub fn external(self, external: bool) -> Quoted<'a>
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.