文章介绍了如何使用 Tree-sitter 解析 Protobuf 定义,提取所需信息,例如消息名称、枚举类型、字段及其类型等。作者详细讲解了如何使用 Tree-sitter 的 Go 绑定和查询表达式从 Protobuf 文件中提取数据,并提供了相应的代码示例。文章还介绍了如何使用 Neovim 的 Tree-sitter 插件可视化和查询解析树,以便更方便地构建查询表达式。