Skip to content

amaanq/tree-sitter-rust

This branch is 1 commit ahead of, 58 commits behind tree-sitter/tree-sitter-rust:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7fa26b7 · Feb 16, 2024
Nov 17, 2023
Aug 18, 2023
Aug 24, 2023
Feb 16, 2024
Aug 24, 2023
Feb 16, 2024
Feb 16, 2024
Aug 18, 2023
Nov 17, 2023
Feb 16, 2024
Jun 10, 2019
Aug 18, 2023
Aug 18, 2023
Mar 29, 2017
May 30, 2022
Feb 14, 2024
Mar 4, 2021
Feb 16, 2024
Aug 18, 2023

Repository files navigation

tree-sitter-rust

CI discord matrix crates npm

Rust grammar for tree-sitter

Features

  • Speed — When initially parsing a file, tree-sitter-rust takes around twice as long as Rustc's hand-coded parser.

    $ wc -l examples/ast.rs
      2157 examples/ast.rs
    
    $ rustc -Z ast-json-noexpand -Z time-passes examples/ast.rs | head -n1
      time: 0.007    parsing # (7 ms)
    
    $ tree-sitter parse examples/ast.rs --quiet --time
      examples/ast.rs    16 ms

    But if you edit the file after parsing it, this parser can generally update the previous existing syntax tree to reflect your edit in less than a millisecond, thanks to Tree-sitter's incremental parsing system.

References

  • The Rust Grammar Reference — The grammar reference provides chapters that formally define the language grammar.
  • The Rust Reference — While Rust does not have a specification, the reference tries to describe its working in detail. It tends to be out of date.
  • Keywords and Operators and Symbols.
  • Archive of the outdated Syntax Index that contains examples of all syntax in Rust cross-referenced with the section of The Book that describes it.

About

Rust grammar for tree-sitter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 73.9%
  • Scheme 10.7%
  • Rust 6.8%
  • Shell 2.9%
  • Swift 2.6%
  • C++ 1.9%
  • Other 1.2%