#codegen #println #buffer #indentation #calling #content #text

simplegen

simplegen 是一个简单的文本缓冲区,用于维护对 println() 调用的缩进。可以通过调用 to_string() 方法检索缓冲区的内容。

5 个版本

0.2.3 2021 年 9 月 17 日
0.2.2 2021 年 5 月 1 日
0.1.2 2021 年 4 月 26 日

#285模板引擎

MIT 许可证

12KB
139

simplegen ⚙️

simplegen 是一个简单的代码生成库。

simplegen

它是一个文本缓冲区,在调用 println() 时保留缩进级别。可以使用 to_string() 方法检索缓冲区的内容。

示例

use simplegen::CodeBuffer;

fn main() {
    let mut buffer = CodeBuffer::new(2);

    buffer.println("[");
    buffer.indent_right();

    for number in 1..=5 {
        buffer.println("{");
        buffer.println_right(format!("\"number\": {}", number).as_str());
        
        if number != 5 {
            buffer.println_left("},");
        } else {
            buffer.println_left("}");
        }
    }
    
    buffer.println_left("]");

    // CodeBuffer::to_string() joins all the lines in the buffer into
    // a single string.
    println!("{}", buffer.to_string());
}

输出

[
  {
    "number": 1
  },
  {
    "number": 2
  },
  {
    "number": 3
  },
  {
    "number": 4
  },
  {
    "number": 5
  }
]

无运行时依赖