4 releases
0.0.4 | May 7, 2024 |
---|---|
0.0.3 | Jan 23, 2023 |
0.0.2 | Jan 19, 2023 |
0.0.1 | Jan 19, 2023 |
#88 in Text editors
1,234 downloads per month
Used in mergiraf
5MB
154K
SLoC
tree-sitter-dart
This is a tree-sitter grammar written for the dart programming language. I attempted to adhere as closely as possible to the dart language spec. Initially I started with a copy of the tree-sitter Java grammar which is why there may be a few relics included in here. For the sake of simplifying the syntax tree, many items were made inlined with tree-sitter's "underscore" method of writing rules.
Getting Started
- Go to the project directory
- run
npm install
(first time) - run
npm run build_init
(first time)npm run build
(subsequent times) - run
npm run test
To test a single highlight file
- run
tree-sitter highlight test/highlight/types.dart
To test a single test file
- run
tree-sitter test -f 'testcasefilter'
- for example
tree-sitter test -f 'dart string literals'
To show the output of a parse for a sample file (for example while debugging highlight issues)
- run
tree-sitter parse path/to/file.dart
lib.rs
:
This crate provides dart language support for the tree-sitter parsing library.
Typically, you will use the language function to add this language to a tree-sitter Parser, and then use the parser to parse some code:
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();
Dependencies
~2.8–4MB
~79K SLoC