diff options
author | Vincent Ambo <mail@tazj.in> | 2021-03-15T20·44+0200 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-03-15T20·48+0200 |
commit | b6895a5b309eca4f12062f394331fff1b9e3dff8 (patch) | |
tree | 3d916dad08acf1bad3022e63dbd082633a3550ff /users/glittershark/achilles/src/commands/compile.rs | |
parent | 4d193f239525954631ba9d789ca3aea9a2f4e14d (diff) | |
parent | b93268085aab14c80a400c299da5d04d2781098e (diff) |
merge(glittershark/achilles): Subtree import at 'b93268085a' r/2279
Imported from https://github.com/glittershark/achilles/ git-subtree-dir: users/glittershark/achilles git-subtree-mainline: 4d193f239525954631ba9d789ca3aea9a2f4e14d git-subtree-split: b93268085aab14c80a400c299da5d04d2781098e Change-Id: I64a583b454bbe03e20358ad7808939a4cbc212ba
Diffstat (limited to 'users/glittershark/achilles/src/commands/compile.rs')
-rw-r--r-- | users/glittershark/achilles/src/commands/compile.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/users/glittershark/achilles/src/commands/compile.rs b/users/glittershark/achilles/src/commands/compile.rs new file mode 100644 index 000000000000..be8767575ab5 --- /dev/null +++ b/users/glittershark/achilles/src/commands/compile.rs @@ -0,0 +1,31 @@ +use std::path::PathBuf; + +use clap::Clap; + +use crate::common::Result; +use crate::compiler::{self, CompilerOptions}; + +/// Compile a source file +#[derive(Clap)] +pub struct Compile { + /// File to compile + file: PathBuf, + + /// Output file + #[clap(short = 'o')] + out_file: PathBuf, + + #[clap(flatten)] + options: CompilerOptions, +} + +impl Compile { + pub fn run(self) -> Result<()> { + eprintln!( + ">>> {} -> {}", + &self.file.to_string_lossy(), + self.out_file.to_string_lossy() + ); + compiler::compile_file(&self.file, &self.out_file, &self.options) + } +} |