#template #formatter #templr #directory #list #glob #arguments

app templrfmt

templr 模板库的格式化工具

3 个版本

0.1.2 2024年4月14日
0.1.1 2024年1月15日
0.1.0 2024年1月9日

#57模板引擎

Download history

每月 179 次下载

Apache-2.0

235KB
6.5K SLoC

templrfmt

Latest version Documentation

templr 模板库的格式化工具。

安装

cargo install templrfmt

用法

Usage: templrfmt [OPTIONS] [INPUT_PATTERNS]...

Arguments:
  [INPUT_PATTERNS]...  A space separated list of file, directory or glob

Options:
  -s, --stdin    Format stdin and write to stdout
  -r, --rustfmt  Format with rustfmt
  -q, --quiet
  -h, --help     Print help
  -V, --version  Print version

与 Rust Analyzer 一起使用

您可以设置 rust-analyzer.rustfmt.overrideCommand 设置。

  "rust-analyzer.rustfmt.overrideCommand": ["templrfmt", "--stdin", "--rustfmt"]

美化打印算法

美化打印器基于 Philip Karlton 的 Mesa 美化打印器,如《Derek C. Oppen,“美化打印”》(1979),斯坦福计算机科学系 STAN-CS-79-770 附录中所述。此算法的实现取自 prettyplease,该算法是从 rustc_ast_pretty 修改而来的。

算法从长度为 n 的输入流和一个边缘宽度为 m 的输出设备中读取,该算法需要时间 O(n) 和空间 O(m)。算法以两个并行过程的形式描述;第一个扫描输入流以确定打印逻辑块所需的空间;第二个使用此信息来决定文本行的断点;两个过程通过一个大小为 o(m) 的缓冲区进行通信。算法不需要等待整个流输入完成,而是在收到一行输入后立即开始打印。

依赖关系

~6–16MB
~218K SLoC