You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
537 B
24 lines
537 B
use super::*; |
|
|
|
#[derive(Debug)] |
|
pub struct WriteFile { |
|
name: &'static str, |
|
contents: &'static str, |
|
} |
|
|
|
impl WriteFile { |
|
pub(crate) fn new(name: &'static str, contents: &'static str) -> Self { |
|
Self { name, contents } |
|
} |
|
} |
|
|
|
impl<S: Shell> Expression<S> for WriteFile { |
|
fn write_shell(&self, writer: &mut impl std::fmt::Write) -> std::fmt::Result { |
|
write!( |
|
writer, |
|
"echo {} > {}", |
|
S::shell_escape(self.contents), |
|
S::shell_escape(self.name) |
|
) |
|
} |
|
}
|
|
|