tree-sitter / tree-sitter-c-sharp

C# Grammar for tree-sitter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tree-sitter-c-sharp

CI discord matrix crates npm

C# grammar for tree-sitter based upon the Roslyn grammar with changes in order to:

  • Deal with differences between the parsing technologies
  • Work around some bugs in that grammar
  • Handle #if, #else, #elif, #endif blocks
  • Support syntax highlighting/parsing of fragments
  • Simplify the output tree

Status

Comprehensive supports C# 1 through 11.0 with the following exceptions:

  • async, var and await cannot be used as identifiers everywhere they are valid
  • Raw string literals (C# 11)

C# 12.0 (under development)

  • Alias any type
  • Collection expressions
  • Default lambda parameters
  • Experimental attribute
  • Inline arrays
  • Interceptors
  • Primary constructors
  • Ref readonly parameters

References

About

C# Grammar for tree-sitter

License:MIT License


Languages

Language:JavaScript 46.5%Language:C# 42.6%Language:Scheme 4.5%Language:Rust 2.7%Language:Shell 1.5%Language:Swift 1.0%Language:C++ 0.8%Language:Python 0.3%Language:C 0.2%