diff options
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 + } +} |