Skip to content

Commit

Permalink
feat: add Zig bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
amaanq committed Feb 2, 2025
1 parent f10e84f commit cf36b03
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,7 @@ go.sum linguist-generated
bindings/swift/** linguist-generated
Package.swift linguist-generated
Package.resolved linguist-generated

# Zig bindings
build.zig linguist-generated
build.zig.zon linguist-generated
19 changes: 19 additions & 0 deletions bindings/zig/root.zig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const testing = @import("std").testing;

const ts = @import("tree-sitter");
const Language = ts.Language;
const Parser = ts.Parser;

pub extern fn tree_sitter_c() callconv(.C) *const Language;

pub export fn language() *const Language {
return tree_sitter_c();
}

test "can load grammar" {
const parser = Parser.create();
defer parser.destroy();
try testing.expectEqual(parser.setLanguage(language()), void{});
try testing.expectEqual(parser.getLanguage(), tree_sitter_c());
}

79 changes: 79 additions & 0 deletions build.zig

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions build.zig.zon

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion tree-sitter.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"node": true,
"python": true,
"rust": true,
"swift": true
"swift": true,
"zig": true
}
}

0 comments on commit cf36b03

Please sign in to comment.