Swiftpack.co - tree-sitter/tree-sitter-c-sharp as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by tree-sitter.
tree-sitter/tree-sitter-c-sharp v0.20.0
C# Grammar for tree-sitter
⭐️ 171
🕓 1 year ago
.package(url: "https://github.com/tree-sitter/tree-sitter-c-sharp.git", from: "v0.20.0")

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

GitHub

link
Stars: 171
Last commit: 2 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

0.20.0
1 year ago

Main theme in this release is the C# 10 and C# 11 features (mostly complete).

Adds support for

  • C# 10 (except Explicit return type Lambdas)
  • Unicode identifiers
  • Global using directives
  • C# 11 (except raw string literals)

Also

  • Various bug fixes
  • Some incremental improvements/tweaks

Availability

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics