From 4b062197e6dd67311e7cfb2c05f28e20c6809daa Mon Sep 17 00:00:00 2001 From: syn Date: Fri, 27 Dec 2019 10:19:55 +0300 Subject: Something is done --- src/backends/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/backends/mod.rs (limited to 'src/backends/mod.rs') 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 { + let maybe_test = fname.with_extension("txt"); + if maybe_test.exists() { + return Some(maybe_test); + } + None + } +} -- cgit v1.2.1-18-gbd029