#tree-sitter #proto #parser #incremental

tree-sitter-proto

Parser for proto2 and proto3 files

2 unstable releases

0.2.0 Oct 25, 2024
0.1.0 Oct 24, 2024

#246 in Text editors

Download history 19/week @ 2024-11-13 33/week @ 2024-11-20 8/week @ 2024-11-27 23/week @ 2024-12-04 39/week @ 2024-12-11 47/week @ 2024-12-18 39/week @ 2024-12-25 100/week @ 2025-01-01 76/week @ 2025-01-08 72/week @ 2025-01-15 82/week @ 2025-01-22 56/week @ 2025-01-29 62/week @ 2025-02-05 73/week @ 2025-02-12 73/week @ 2025-02-19 65/week @ 2025-02-26

282 downloads per month
Used in 2 crates

MIT license

275KB
10K SLoC

C 9K SLoC JavaScript 431 SLoC // 0.1% comments Scheme 47 SLoC Rust 27 SLoC // 0.3% comments

tree-sitter-proto

CI crates

Protocol buffer grammer for tree-sitter.

✨ Features

  • ✅ Basic Proto2 support
  • ✅ Proto3 support
  • ✅ Support for editions

Special Thanks

Special thanks to the following people for their amazing work in this grammer.


lib.rs:

This crate provides Proto language support for the tree-sitter parsing library.

Typically, you will use the [LANGUAGE][] constant to add this language to a tree-sitter Parser, and then use the parser to parse some code:

let code = r#"
"#;
let mut parser = tree_sitter::Parser::new();
let language = tree_sitter_proto::LANGUAGE;
parser
    .set_language(&language.into())
    .expect("Error loading Proto parser");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());

Dependencies

~4–310KB