TreeSitter.DotNet
1.2.0
dotnet add package TreeSitter.DotNet --version 1.2.0
NuGet\Install-Package TreeSitter.DotNet -Version 1.2.0
<PackageReference Include="TreeSitter.DotNet" Version="1.2.0" />
<PackageVersion Include="TreeSitter.DotNet" Version="1.2.0" />
<PackageReference Include="TreeSitter.DotNet" />
paket add TreeSitter.DotNet --version 1.2.0
#r "nuget: TreeSitter.DotNet, 1.2.0"
#:package TreeSitter.DotNet@1.2.0
#addin nuget:?package=TreeSitter.DotNet&version=1.2.0
#tool nuget:?package=TreeSitter.DotNet&version=1.2.0
About
Provides .NET bindings for the tree-sitter parsing library. Also includes the native tree-sitter parsing library and a complete set of native language parsing libraries.
Key Features
- .NET bindings for the tree-sitter parsing library.
- Includes native libraries for the tree-sitter parsing library and language grammars.
- Includes 28+ language grammars.
- Work with all .NET languages such as C#, F#, and VB.NET.
- Work with Windows (x86, x64, arm64), Linux (x64, arm64), and macOS (x64, arm64).
- Support for predicates queries.
- Passes the WebAssembly bindings test suite.
How to Use
Parsing source code:
using TreeSitter;
using var language = new Language("JavaScript");
using var parser = new Parser(language);
using var tree = parser.Parse("console.log('Hello World');")!;
Console.WriteLine($"Root node: {tree.RootNode}");
Expected output:
Root node: (program (expression_statement (call_expression function: (member_expression object: (identifier) property: (property_identifier)) arguments: (arguments (string (string_fragment))))))
Running queries:
using TreeSitter;
using var language = new Language("JavaScript");
using var parser = new Parser(language);
using var tree = parser.Parse("function one() { function two() {} }")!;
using var query = new Query(language, "(function_declaration name: (identifier) @fn)");
foreach (var capture in query.Execute(tree.RootNode).Captures)
{
Console.WriteLine($"Found function: {capture.Node.Text}");
}
Expected output:
Found function: one
Found function: two
Main Types
The main types provided by this library are:
TreeSitter.LanguageTreeSitter.ParserTreeSitter.TreeTreeSitter.NodeTreeSitter.TreeCursorTreeSitter.Query
Additional Documentation
Feedback & Contributing
.NET bindings for tree-sitter is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TreeSitter.DotNet:
| Package | Downloads |
|---|---|
|
AiDotNet
This is a preview library that will eventually showcase the latest and greatest in ai breakthroughs and bring them to the .net community |
GitHub repositories
This package is not used by any popular GitHub repositories.