Select Git revision
custom_int.rs
Forked from
orestis.malaspin / rust-101
Source project has a limited visibility.
c_templates.rs 1.16 KiB
use simplegen::CodeBuffer;
pub fn template_for_header(filename: &str) -> CodeBuffer {
let mut buffer = CodeBuffer::new(4);
let mut mod_filename = filename.to_string();
// Removing trailing whitespace and extension from filename
for _ in 0..3 {
mod_filename.pop();
}
print!("{}", mod_filename);
buffer.println(format!("#ifndef _{}_H_", mod_filename.to_uppercase()).as_str());
buffer.println(format!("#define _{}_H_", mod_filename.to_uppercase()).as_str());
buffer.println("");
buffer.println(format!("typedef struct _{}_t", mod_filename.to_lowercase()).as_str());
buffer.println("{");
buffer.println("");
buffer.println(format!("}} {}_t;", mod_filename.to_lowercase()).as_str());
buffer.println("");
buffer.println("#endif");
return buffer;
}
pub fn template_for_main() -> CodeBuffer {
let mut buffer = CodeBuffer::new(4);
buffer.println("#include <stdio.h>");
buffer.println("#include <stdlib.h>");
buffer.println("");
buffer.println("int main()");
buffer.println("{");
buffer.println("");
buffer.println_right("return 0;");
buffer.println_left("}");
return buffer;
}