diff options
author | syn <isaqtm@gmail.com> | 2019-12-27 10:19:55 +0300 |
---|---|---|
committer | syn <isaqtm@gmail.com> | 2019-12-27 10:19:55 +0300 |
commit | 4b062197e6dd67311e7cfb2c05f28e20c6809daa (patch) | |
tree | 2961151b2b19b582e4d41b47fb832aa2838f5e6d /src/backends/mod.rs | |
download | evr-4b062197e6dd67311e7cfb2c05f28e20c6809daa.tar.gz |
Something is done
Diffstat (limited to 'src/backends/mod.rs')
-rw-r--r-- | src/backends/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/backends/mod.rs b/src/backends/mod.rs new file mode 100644 index 0000000..729daa5 --- /dev/null +++ b/src/backends/mod.rs @@ -0,0 +1,20 @@ +use std::path::{ Path, PathBuf }; + +pub mod python; +pub mod clang; + +pub use python::PythonBackend; +pub use clang::ClangBackend; + +pub trait Backend { + fn get_template(&self) -> Option<&str>; + fn run(&self, fname: &Path) -> std::io::Result<()>; + + fn try_guess_test(&self, fname: &Path) -> Option<PathBuf> { + let maybe_test = fname.with_extension("txt"); + if maybe_test.exists() { + return Some(maybe_test); + } + None + } +} |