名称: Tree-sitter 描述: 用于增量解析和语法高亮的 tree-sitter 语法创建专家技能 类别: 工具链 允许使用的工具:
- 读取
- 写入
- 编辑
- 全局匹配
- 文本搜索
- Bash
Tree-sitter 技能
概述
用于创建 tree-sitter 语法以实现增量解析和语法高亮的专家技能。
能力
- 编写 tree-sitter 的 grammar.js 文件
- 处理 tree-sitter 外部扫描器
- 为语法高亮设计查询
- 实现增量解析支持
- 处理 tree-sitter 错误恢复
- 为多种语言生成绑定
- 与编辑器集成(VS Code, Neovim, Helix)
- 使用语料库文件测试语法
目标流程
- 语言语法设计.js
- 词法分析器实现.js
- 解析器开发.js
- LSP 服务器实现.js
依赖项
- tree-sitter CLI
- tree-sitter crates/npm 包
使用指南
- Grammar.js:遵循 tree-sitter grammar.js 的约定
- 外部扫描器:使用外部扫描器进行上下文相关的词法分析
- 查询:编写 highlight.scm 和其他查询文件以集成到编辑器中
- 测试:构建全面的语料库测试文件
- 错误恢复:设计语法时考虑错误恢复
输出模式
{
"type": "object",
"properties": {
"grammarName": { "type": "string" },
"nodeTypes": {
"type": "array",
"items": { "type": "string" }
},
"queries": {
"type": "array",
"items": {
"type": "string",
"enum": ["highlights", "injections", "locals", "tags", "folds"]
}
},
"bindings": {
"type": "array",
"items": { "type": "string" }
},
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}