CLI: 对语言绑定具有更大的控制权
作者: clason创建于 2025年12月12日更新于 2026年8月23日
标签templates
问题
越来越多的语言绑定列表令人困惑并乏味地为解析器维护者处理. 长期而言,需要讨论如何将更多的负担转移给实际使用这些束缚的人(例如,将它们维持在上游的回购中,以便它们能够作为依赖性被拉入),但我们可以通过更多的可发现性和控制来在短期内改善局面.
特别是,一个主要的痛点是,一些"语言绑定"文件实际上是树保姆正常工作所必需的,所以不能简单地删除所有生成的文件. 据我所知,这些是
- `rc/tree sitter/*.h'(汇编剖面仪和自定义扫描仪所需)
- " package.json " (在依赖的情况下, " npm s安装 " 需要)
** EDIT:** 经过进一步研究,这更是一个可发现性问题,因为文件不完整/有误,而且`树木保姆进入 ' 无法更新文件(文件本身具有误导性/记录不足)。
** EDIT 2:** 在考虑这个问题之后,不得不在模板和工作流程的频繁(可能中断)变化中用回购方式维持这些,这仅仅是维护压力太大。 除非它们需要手动写作(对于一些分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出分出
预期行为
一份更新的(部分独立)建议清单,我认为可以改善情况:
- 对所有语言而言,默认值应当是 " 虚假的 " (任何例外都需要 非常 令人信服的)。
- 文件应更清楚地说明哪些文件是生成的,区分树套文件与语言约束文件。 例如,`src/tree sitter/*.h'文件不应列为文件中的"约束". (#5129,#5152).
- "发展经验"的"补充文件"应当由单独的"trea-sitter.json"字段(默认为TBD)来控制.
捆绑应作为出版工作流程的一部分产生(要么通过 " 树木保姆出版 " 命令,要么通过工作流程).
内容来源: tree-sitter/tree-sitter