diff options
Diffstat (limited to 'build.zig')
| -rw-r--r-- | build.zig | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -1503,6 +1503,27 @@ pub fn build(b: *std.Build) void { lspbench_step.dependOn(install_lspbench); lspbench_step.dependOn(&run_lspbench.step); + // The client's one-shot probe: the same seam, one query, any + // workspace — how the protocol client is exercised against real + // rust/C/go trees during development without driving the editor. + // Debug is fine: the latency measured is the child server's. + const lspprobe = b.addExecutable(.{ + .name = "pardes-lspprobe", + .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + .root_source_file = b.path("tools/lspprobe.zig"), + .link_libc = true, + }), + }); + lspprobe.root_module.addImport("pardes", hx_core_mod); + const install_lspprobe = &b.addInstallArtifact(lspprobe, .{ .dest_dir = .{ .override = .{ .custom = "dev" } } }).step; + const run_lspprobe = b.addRunArtifact(lspprobe); + if (b.args) |args| run_lspprobe.addArgs(args); + const lspprobe_step = b.step("lspprobe", "one language query against the real seam (-- <kind> <file> <line>:<col> [arg] [--reps N])"); + lspprobe_step.dependOn(install_lspprobe); + lspprobe_step.dependOn(&run_lspprobe.step); + // the editing scoreboard: one gesture, one file size, one number. // ReleaseFast for the same reason lspbench is — a Debug build measures // safety checks, and the question here is what the algorithm costs. |
