#tree-sitter #json #collector #kind #name #节点类型

treesitter_kind_collector

从treesitter的node-types.json中收集类型名称

2个不稳定版本

0.2.0 2024年8月15日
0.1.0 2024年8月15日

337过程宏

Download history 219/week @ 2024-08-10 1398/week @ 2024-08-17

1,617 每月下载
用于 neocmakelsp

MIT 许可证

7KB
120

treesitter-type-collector

宏示例,用于生成node-types.json中的所有类型名称,并将它们转换为模块。

示例

use treesitter_type_collector::tree_sitter_consts;

#[tree_sitter_consts("asserts/node-types.json")]
struct NodeTypes;

fn main() {
    println!("{}", NodeTypes::KIND_ARGUMENT);
    println!("{:?}", NodeTypes::NODE_TYPES);
}


lib.rs:

自动将node_types.json传输到rust模块

最小示例


use treesitter_kind_collector::tree_sitter_kinds;
#[tree_sitter_kinds("asserts/node-types.json")]
struct NodeKindTypes;

fn main() {
    println!("{}", NodeKindTypes::ARGUMENT);
    println!("{:?}", NodeKindTypes::NODE_TYPES);
}

依赖项

~0.7–1.6MB
~35K SLoC