Optimizing tool selection...下面把剩下的工作拆成小任务
Optimizing tool selection...下面把剩下的工作拆成小任务(按推荐顺序),并给你对应参考资料:
小任务清单(建议顺序)
- T1 解析 AST(parse_expr):从 sexp.ts 的 syntax 节点转成
exp(var_ | abs | app) - T2 诊断规则:基于 parse_expr 报语法错(参数过多/过少、非法结构)
- T3 代码补全:在
source.utlcscope 内提供lambda片段/关键字补全 - T4 扩展入口:注册 completion + diagnostic(如果还没写
extension.ts/js) - T5 手动用例:写几个 test.utlc 样例验证
你需要看的参考资料
VS Code 扩展最小样例
https://github.com/microsoft/vscode-extension-samples/tree/main/helloworld-minimal-sampleCompletion 示例
https://github.com/microsoft/vscode-extension-samples/tree/main/completions-sampleDiagnostics 示例(搜索
DiagnosticCollection)
https://code.visualstudio.com/api/language-extensions/programmatic-language-features#diagnostics你们当前 parser 的语法节点
https://github.com/illusory0x0/sexp/blob/master/sexp.ts#L336
下一步建议
先从 T1 parse_expr 开始,因为诊断和补全都会依赖它。
你要我先帮你读 sexp.ts 里 syntax 的结构,提取出最小的转换规则吗?
评论