Tree-sitter语法构建专家Skill Tree-sitter

Tree-sitter 语法构建专家技能,专注于为编程语言创建增量解析器和语法高亮系统。核心功能包括编写 grammar.js 文件、设计外部扫描器、实现错误恢复机制、生成多语言绑定以及集成主流代码编辑器。适用于开发语言服务器、代码编辑器插件和语法分析工具,提升开发效率和代码可读性。

前端开发 0 次安装 0 次浏览 更新于 2/25/2026

名称: 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 包

使用指南

  1. Grammar.js:遵循 tree-sitter grammar.js 的约定
  2. 外部扫描器:使用外部扫描器进行上下文相关的词法分析
  3. 查询:编写 highlight.scm 和其他查询文件以集成到编辑器中
  4. 测试:构建全面的语料库测试文件
  5. 错误恢复:设计语法时考虑错误恢复

输出模式

{
  "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" }
    }
  }
}