summaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 17:04:53 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commitdf4d11bb95bc7ea9554b55d2211c4704a2594f08 (patch)
tree0b3a41bac163f6dc1e5c403e0c7a5547c482ec60 /build.zig
parent68e30f560e46bb9a30433eb23b4edb1b93d69f46 (diff)
downloadpardes-df4d11bb95bc7ea9554b55d2211c4704a2594f08.tar.gz
pardes-df4d11bb95bc7ea9554b55d2211c4704a2594f08.zip
]f, mif and the other textobject keys use helix's own queries
helix's textobjects.scm for pardes's grammars are vendored in vendor/queries under MPL-2.0, each with a header naming its source and what it inherits, inlined; a README says what is there and what is not. syntax.objectAt and objectNext run them over the file's kept parse, with their #eq? and #match? predicates, for ]f [f ]t [t ]a [a ]c [c ]T [T ]e [e ]x [x and mi/ma with f t a c T e x. erlang's and zig's queries do not compile against the grammar versions pardes builds and are left out; fortran, markdown and powershell have none in helix. A test replays sixteen Python and JSON cases whose results were taken from the installed hx, and another holds that every vendored query compiles. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/build.zig b/build.zig
index f4a3b542..51c4f76d 100644
--- a/build.zig
+++ b/build.zig
@@ -384,6 +384,10 @@ pub fn build(b: *std.Build) void {
const query_path = dep.path(g.query);
const query = std.Io.Dir.cwd().readFileAlloc(io, query_path.getPath(b), b.allocator, .limited(0x100000)) catch @panic("read " ++ g.name ++ " highlights");
ts_queries.addOption([]const u8, g.name ++ "_highlights", query);
+ // helix's textobject queries, vendored (vendor/queries); a
+ // grammar without one gets none
+ const objects = std.Io.Dir.cwd().readFileAlloc(io, b.pathFromRoot("vendor/queries/" ++ g.name ++ "/textobjects.scm"), b.allocator, .limited(0x100000)) catch "";
+ ts_queries.addOption([]const u8, g.name ++ "_textobjects", objects);
const lib = b.addLibrary(.{
.name = "tree-sitter-" ++ g.name,