4个版本
0.0.4 | 2024年5月7日 |
---|---|
0.0.3 | 2023年1月23日 |
0.0.2 | 2023年1月19日 |
0.0.1 | 2023年1月19日 |
#93 in 文本编辑器
2,256 每月下载量
用于 ast-grep-language
5MB
154K SLoC
tree-sitter-dart
这是一个为dart编程语言编写的tree-sitter语法。我尽量与dart语言规范保持一致。最初我是从tree-sitter Java语法的副本开始的,这也是为什么这里可能包含一些遗留下来的内容。为了简化语法树,许多项都使用tree-sitter的“下划线”方法编写规则进行了内联。
入门指南
- 转到项目目录
- 运行
npm install
(第一次) - 运行
npm run build_init
(第一次)npm run build
(后续) - 运行
npm run test
测试单个高亮文件
- 运行
tree-sitter highlight test /highlight/types.dart
测试单个测试文件
- 运行
tree-sitter test -f 'testcasefilter'
- 例如,运行
tree-sitter test -f 'dart string literals'
显示样本文件解析的输出(例如,在调试高亮问题时)
- 运行
tree-sitter parse path/to/file.dart
lib.rs
:
这个crate为tree-sitter解析库提供了dart语言支持。
通常,您将使用 language 函数将此语言添加到tree-sitter Parser,然后使用解析器解析一些代码。
let code = "";
let mut parser = tree_sitter::Parser::new();
parser.set_language(tree_sitter_dart::language()).expect("Error loading dart grammar");
let tree = parser.parse(code, None).unwrap();
依赖项
~2.8–4MB
~72K SLoC