From d0a6ec52967e4ec67271a4f7d3885451e910b816 Mon Sep 17 00:00:00 2001 From: Ryan Roden-Corrent Date: Sun, 7 Jan 2024 21:08:41 -0500 Subject: [PATCH] Add textobject queries for protobuf grammar. (#9184) Given `message Foo {string s = 1;}` - `mat` selects `message Foo {string s = 1}` - `mit` selects `{string s = 1;}` Given `service SearchService { rpc Search(Req) returns (Resp); } - `mit` or `mat` selects `Req` or `Resp` - `mif` or `maf` selects `rpc Search(Req) returns (Resp);` - `mit` selects { rpc Search(Req) returns (Resp); }` - `mat` selects `service SearchService { rpc Search(Req) returns (Resp); }` --- book/src/generated/lang-support.md | 2 +- runtime/queries/protobuf/textobjects.scm | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 runtime/queries/protobuf/textobjects.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index d068f91c0dc8..ee01c40309c3 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -128,7 +128,7 @@ | ponylang | ✓ | ✓ | ✓ | | | prisma | ✓ | | | `prisma-language-server` | | prolog | | | | `swipl` | -| protobuf | ✓ | | ✓ | `bufls`, `pb` | +| protobuf | ✓ | ✓ | ✓ | `bufls`, `pb` | | prql | ✓ | | | | | purescript | ✓ | ✓ | | `purescript-language-server` | | python | ✓ | ✓ | ✓ | `pylsp` | diff --git a/runtime/queries/protobuf/textobjects.scm b/runtime/queries/protobuf/textobjects.scm new file mode 100644 index 000000000000..6f06b13498b3 --- /dev/null +++ b/runtime/queries/protobuf/textobjects.scm @@ -0,0 +1,9 @@ +(message (messageBody) @class.inside) @class.around +(enum (enumBody) @class.inside) @class.around +(service (serviceBody) @class.inside) @class.around + +(rpc (enumMessageType) @parameter.inside) @function.inside +(rpc (enumMessageType) @parameter.around) @function.around + +(comment) @comment.inside +(comment)+ @comment.around