SuperAPI AI 工具集

adding-ty-diagnostics

通用与其它

查看项目

更新于 10-15 17:20

技能介绍

用途:当需要新增、修改或审查 ty 诊断(diagnostic)时使用,尤其适用于编写新的 ty 检查规则。

主要能力与要求:错误信息保持简洁,需考虑在窄终端屏幕上的显示效果;可将额外细节放入子诊断(subdiagnostics)或次级注解(secondary annotations),但主诊断必须能独立被理解;始终确认在用户传入 --output-format=concise 时诊断仍然合理。

错误码与文档:若错误码是全新的,或修改了错误码文档,需在改动后运行 cargo dev generate-all,以更新 ty 生成的 schema 和生成的 .md 文档文件。

测试:诊断通常应使用 mdtests 测试。若修改现有诊断行为,通常把测试加入已有的 .md 文件;否则可新建 .md 文件。快照测试通常只对使用次级注解或子诊断的诊断才需要。若添加快照,优先使用内联 # snapshot 注释,而非旧式 <!-- snapshot-annotations --> 指令。

版本状态:使用 declare_lint! 宏时,status 字段应设为 LintStatus::stable(<下一个 ty 版本>)。确定下一个版本的方法是查看 https://pypi.org/pypi/ty/json,找到 ty 的最新发布版本,将补丁版本加一。例如最新版为 0.5.3 时,应写 LintStatus::stable("0.5.4")。

限制:资料未提供更多关于 ty 诊断内部实现、其他宏字段或具体错误码示例的细节。