#comments #structured #formatter #formatting #line #projects #indentation

bin+lib scfmt

用于格式化带结构注释的代码的工具

5 个不稳定版本

0.3.1 2022年4月19日
0.3.0 2022年4月19日
0.2.1 2022年4月17日
0.1.2 2022年4月14日

#207值格式化

MIT 许可证

91KB
2K SLoC

结构化注释格式化器 (scfmt)

scfmt 是一个格式化器,旨在使您可以在代码中启用 结构化注释。在传统代码格式化器之后运行 scfmt,将确保您的结构化注释正确缩进且不会被破坏。此存储库提供了用于快速格式化文件的 CLI,以及用于将 scfmt 支持添加到其他项目的 Rust 库。

常见问题解答

功能

格式化

scfmt 将格式化带有括号的结构化注释的字符串,使其内容内部正确缩进。

添加括号

添加括号将无括号的注释方法转换为有括号的版本。在通过格式化器运行之前,结构化注释必须是括号的,否则不会生效。

移除括号

移除括号将括号化的注释方法转换为无括号的版本。无括号的结构化注释更简洁,但如果其空白被破坏,则无法恢复。例如,在通过传统的代码格式化器运行后。

取消括号

取消括号在现有括号注释前添加一个 _ 字符。这允许更轻松地将现有项目转换为与结构化注释兼容。

scfmt 可以做什么?

scfmt 允许的唯一操作是

  • 创建和删除 //< 结束注释
  • 添加和删除现有注释的起始括号 ><>
  • 确保空行深度为 0
  • 编辑用于 SC 格式化的行缩进

scfmt 不会做什么?

  • 将一行转换为多行
  • 将多行转换为一行
  • 确保 max_width
  • 添加或删除空行

值得注意的错误

  • 根据问题#1,当多行字符串或多行注释中的行以您语言的注释起始符开头时,scfmt会错误地将这些行视为结构化注释。这意味着如下所示的多行字符串和注释将被格式化,尽管它们不应该被格式化。
/*
//>
comment line that will get indented after formatting
//<
*/

let multi_line_str = "
//>
string line that will get indented after formatting
//<
"

依赖项

~2–12MB
~96K SLoC