bricks/cli/init/
templates.rs

1pub fn config(name: &str, kind: &str, lang: &str, edition: &str) -> String {
2    format!(
3        r#"[brick]
4name = "{}"
5kind = "{}"
6lang = "{}"
7edition = "{}""#,
8        name, kind, lang, edition
9    )
10}
11
12pub fn main_c(name: &str) -> String {
13    format!(
14        r#"#include <stdio.h>
15
16int main() {{
17    printf("hello {}!\n");
18    return 0;
19}}"#,
20        name
21    )
22}
23
24pub fn main_cpp(name: &str) -> String {
25    format!(
26        r#"#include <iostream>
27
28int main() {{
29    cout << "hello {}!" << endl;
30    return 0;
31}}"#,
32        name
33    )
34}
35
36pub fn lib_c(name: &str) -> String {
37    format!(
38        r#"#include <stdio.h>
39
40int hello() {{
41    printf("hello {}!\n");
42    return 0;
43}}"#,
44        name
45    )
46}
47
48pub fn lib_cpp(name: &str) -> String {
49    format!(
50        r#"#include <iostream>
51
52int hello() {{
53    cout << "hello {}!" << endl;
54    return 0;
55}}"#,
56        name
57    )
58}
59
60pub fn clangd() -> String {
61    r#"CompileFlags:
62  CompilationDatabase: build/"#
63        .to_string()
64}
65
66pub fn gitignore(_name: &str) -> String {
67    "build/".to_string()
68}