aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jq/parse.zig
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-16 23:16:12 +0900
committernsfisis <nsfisis@gmail.com>2026-02-16 23:16:12 +0900
commitdf5be2f8176f6ad5ff727bf570d6c511d8452609 (patch)
tree8a38a82a301dc43e40b3f71e297f11191dc98e57 /src/jq/parse.zig
parentc9db46235ed5b8c51935ac105874909400e9ec93 (diff)
downloadzgjq-df5be2f8176f6ad5ff727bf570d6c511d8452609.tar.gz
zgjq-df5be2f8176f6ad5ff727bf570d6c511d8452609.tar.zst
zgjq-df5be2f8176f6ad5ff727bf570d6c511d8452609.zip
implement paren grouping
Diffstat (limited to 'src/jq/parse.zig')
-rw-r--r--src/jq/parse.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/jq/parse.zig b/src/jq/parse.zig
index 17138ae..1e5942d 100644
--- a/src/jq/parse.zig
+++ b/src/jq/parse.zig
@@ -382,6 +382,12 @@ const Parser = struct {
object_node.* = .{ .literal = idx };
return object_node;
},
+ .paren_left => {
+ _ = try self.tokens.next();
+ const inner = try self.parseQuery();
+ _ = try self.tokens.expect(.paren_right);
+ return inner;
+ },
.field => |name| {
_ = try self.tokens.next();
const is_optional = self.tokens.consumeIf(.question);