pub struct ShellScript<T: Shell> { /* private fields */ }Expand description
A helper struct for generating shell scripts.
Implementations§
Source§impl<T: Shell + 'static> ShellScript<T>
impl<T: Shell + 'static> ShellScript<T>
Sourcepub fn new(shell: T, platform: Platform) -> Self
pub fn new(shell: T, platform: Platform) -> Self
Create a new ShellScript for the given shell.
Sourcepub fn apply_env_vars_with_backup(
&mut self,
current_env: &HashMap<String, String>,
new_shlvl: i32,
envs: &IndexMap<String, String>,
) -> Result<&mut Self, ShellError>
pub fn apply_env_vars_with_backup( &mut self, current_env: &HashMap<String, String>, new_shlvl: i32, envs: &IndexMap<String, String>, ) -> Result<&mut Self, ShellError>
Apply the provided environment variables to the script while backing up existing values to the current shell level.
Sourcepub fn set_env_var(
&mut self,
env_var: &str,
value: &str,
) -> Result<&mut Self, ShellError>
pub fn set_env_var( &mut self, env_var: &str, value: &str, ) -> Result<&mut Self, ShellError>
Export an environment variable.
Sourcepub fn unset_env_var(&mut self, env_var: &str) -> Result<&mut Self, ShellError>
pub fn unset_env_var(&mut self, env_var: &str) -> Result<&mut Self, ShellError>
Unset an environment variable.
Sourcepub fn set_path(
&mut self,
paths: &[PathBuf],
path_modification_behavior: PathModificationBehavior,
) -> Result<&mut Self, ShellError>
pub fn set_path( &mut self, paths: &[PathBuf], path_modification_behavior: PathModificationBehavior, ) -> Result<&mut Self, ShellError>
Set the PATH environment variable to the given paths.
Sourcepub fn run_script(&mut self, path: &Path) -> Result<&mut Self, ShellError>
pub fn run_script(&mut self, path: &Path) -> Result<&mut Self, ShellError>
Run a script in the generated shell script.
Sourcepub fn source_completions(
&mut self,
completions_dir: &Path,
) -> Result<&mut Self, ShellError>
pub fn source_completions( &mut self, completions_dir: &Path, ) -> Result<&mut Self, ShellError>
Source completion scripts for the shell from a given directory with completion scripts.
Sourcepub fn append_script(&mut self, script: &Self) -> &mut Self
pub fn append_script(&mut self, script: &Self) -> &mut Self
Add contents to the script. The contents will be added as is, so make sure to format it correctly for the shell.
Sourcepub fn contents(&self) -> Result<String, ShellError>
pub fn contents(&self) -> Result<String, ShellError>
Return the contents of the script.
Sourcepub fn print_env(&mut self) -> Result<&mut Self, Error>
pub fn print_env(&mut self) -> Result<&mut Self, Error>
Print all environment variables to stdout during execution.
Sourcepub fn restore_env_var(
&mut self,
key: &str,
backup_key: &str,
) -> Result<&mut Self, ShellError>
pub fn restore_env_var( &mut self, key: &str, backup_key: &str, ) -> Result<&mut Self, ShellError>
Restores an environment variable from its backup if it exists, otherwise unsets it.
Auto Trait Implementations§
impl<T> Freeze for ShellScript<T>where
T: Freeze,
impl<T> RefUnwindSafe for ShellScript<T>where
T: RefUnwindSafe,
impl<T> Send for ShellScript<T>where
T: Send,
impl<T> Sync for ShellScript<T>where
T: Sync,
impl<T> Unpin for ShellScript<T>where
T: Unpin,
impl<T> UnsafeUnpin for ShellScript<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for ShellScript<T>where
T: UnwindSafe,
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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