pub fn config(name: &str, kind: &str, lang: &str, edition: &str) -> String {
format!(
r#"[brick]
name = "{}"
kind = "{}"
lang = "{}"
edition = "{}""#,
name, kind, lang, edition
)
}
pub fn main_c(name: &str) -> String {
format!(
r#"#include <stdio.h>
int main() {{
printf("hello {}!\n");
return 0;
}}"#,
name
)
}
pub fn main_cpp(name: &str) -> String {
format!(
r#"#include <iostream>
int main() {{
cout << "hello {}!" << endl;
return 0;
}}"#,
name
)
}
pub fn lib_c(name: &str) -> String {
format!(
r#"#include <stdio.h>
int hello() {{
printf("hello {}!\n");
return 0;
}}"#,
name
)
}
pub fn lib_cpp(name: &str) -> String {
format!(
r#"#include <iostream>
int hello() {{
cout << "hello {}!" << endl;
return 0;
}}"#,
name
)
}
pub fn clangd() -> String {
r#"CompileFlags:
CompilationDatabase: build/"#
.to_string()
}
pub fn gitignore(_name: &str) -> String {
"build/".to_string()
}