pub enum ShellKind {
Posix,
Csh,
Tcsh,
Rc,
Fish,
PowerShell,
Pwsh,
Nushell,
Cmd,
Xonsh,
Elvish,
}Variants§
Posix
Csh
Tcsh
Rc
Fish
PowerShell
Pre-installed “legacy” powershell for windows
Pwsh
PowerShell 7.x
Nushell
Cmd
Xonsh
Elvish
Implementations§
Source§impl ShellKind
impl ShellKind
pub fn system() -> Self
pub fn new(program: impl AsRef<Path>, is_windows: bool) -> Self
pub fn to_shell_variable(self, input: &str) -> String
pub fn args_for_shell( &self, interactive: bool, combined_command: String, ) -> Vec<String>
pub const fn command_prefix(&self) -> Option<char>
pub fn prepend_command_prefix<'a>(&self, command: &'a str) -> Cow<'a, str>
pub const fn sequential_commands_separator(&self) -> char
pub const fn sequential_and_commands_separator(&self) -> &'static str
pub fn try_quote<'a>(&self, arg: &'a str) -> Option<Cow<'a, str>>
pub fn quote_powershell(arg: &str) -> Cow<'_, str>
pub fn quote_pwsh(arg: &str) -> Cow<'_, str>
pub fn quote_cmd(arg: &str) -> Cow<'_, str>
Sourcepub fn try_quote_prefix_aware<'a>(&self, arg: &'a str) -> Option<Cow<'a, str>>
pub fn try_quote_prefix_aware<'a>(&self, arg: &'a str) -> Option<Cow<'a, str>>
Quotes the given argument if necessary, taking into account the command prefix.
In other words, this will consider quoting arg without its command prefix to not break the command.
You should use this over try_quote when you want to quote a shell command.
pub fn split(&self, input: &str) -> Option<Vec<String>>
pub const fn activate_keyword(&self) -> &'static str
pub const fn clear_screen_command(&self) -> &'static str
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ShellKind
impl<'de> Deserialize<'de> for ShellKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for ShellKind
impl Eq for ShellKind
impl StructuralPartialEq for ShellKind
Auto Trait Implementations§
impl Freeze for ShellKind
impl RefUnwindSafe for ShellKind
impl Send for ShellKind
impl Sync for ShellKind
impl Unpin for ShellKind
impl UnwindSafe for ShellKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more