#incremental #parsing #json

tree-sitter-json

JSON grammar for tree-sitter

2 unstable releases

0.20.1 Oct 5, 2023
0.19.0 Dec 20, 2021

#165 in Text editors

Download history 535/week @ 2023-08-11 384/week @ 2023-08-18 424/week @ 2023-08-25 433/week @ 2023-09-01 653/week @ 2023-09-08 552/week @ 2023-09-15 706/week @ 2023-09-22 831/week @ 2023-09-29 852/week @ 2023-10-06 998/week @ 2023-10-13 725/week @ 2023-10-20 587/week @ 2023-10-27 1023/week @ 2023-11-03 897/week @ 2023-11-10 858/week @ 2023-11-17 596/week @ 2023-11-24

3,450 downloads per month
Used in 9 crates (8 directly)

MIT license

38KB
1K SLoC

C 1K SLoC JavaScript 87 SLoC // 0.2% comments Rust 32 SLoC // 0.4% comments Scheme 11 SLoC

tree-sitter-json

This crate provides a JSON grammar for the tree-sitter parsing library. To use this crate, add it to the [dependencies] section of your Cargo.toml file. (Note that you will probably also need to depend on the tree-sitter crate to use the parsed result in any useful way.)

[dependencies]
tree-sitter = "0.20.10"
tree-sitter-json = "0.20.1"

Typically, you will use the language function to add this grammar to a tree-sitter Parser, and then use the parser to parse some code:

let code = r#"
{
  "name": "tree-sitter-json",
  "description": "JSON parsing for tree-sitter",
}
"#;
let mut parser = Parser::new();
parser.set_language(tree_sitter_json::language()).expect("Error loading JSON grammar");
let parsed = parser.parse(code, None);

If you have any questions, please reach out to us in the tree-sitter discussions page.

Dependencies

~2.6–4MB
~68K SLoC