diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-28 17:04:53 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | df4d11bb95bc7ea9554b55d2211c4704a2594f08 (patch) | |
| tree | 0b3a41bac163f6dc1e5c403e0c7a5547c482ec60 /build.zig | |
| parent | 68e30f560e46bb9a30433eb23b4edb1b93d69f46 (diff) | |
| download | pardes-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.zig | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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, |
