3 个版本
0.1.2 | 2024年4月14日 |
---|---|
0.1.1 | 2024年1月15日 |
0.1.0 | 2024年1月9日 |
#57 在 模板引擎
每月 179 次下载
235KB
6.5K SLoC
templrfmt
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