2 个版本
0.1.1 | 2024年4月14日 |
---|---|
0.1.0 | 2024年1月9日 |
#184 in 值格式化
86 每月下载次数
在 templrfmt 中使用
225KB
6K 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)
的缓冲区进行通信。算法不等待整个流输入完毕,而是在收到一行输入后立即开始打印。
依赖项
~2.5–4MB
~73K SLoC