diff options
| -rw-r--r-- | runtime/queries/proto/highlights.scm | 18 | ||||
| -rw-r--r-- | tests/query/highlights/proto/test.proto | 62 |
2 files changed, 80 insertions, 0 deletions
diff --git a/runtime/queries/proto/highlights.scm b/runtime/queries/proto/highlights.scm index 51f44a754..894686dd4 100644 --- a/runtime/queries/proto/highlights.scm +++ b/runtime/queries/proto/highlights.scm @@ -1,3 +1,19 @@ +(full_ident + (identifier) @variable) + +(full_ident + (identifier) + (identifier) @variable.member) + +(field + (identifier) @property) + +(field_option + (identifier) @property) + +(block_lit + (identifier) @property) + [ "extend" "extensions" @@ -77,6 +93,8 @@ [ ";" "," + "." + ":" ] @punctuation.delimiter "=" @operator diff --git a/tests/query/highlights/proto/test.proto b/tests/query/highlights/proto/test.proto new file mode 100644 index 000000000..fdc610782 --- /dev/null +++ b/tests/query/highlights/proto/test.proto @@ -0,0 +1,62 @@ +syntax = "proto2"; +// ^^^^^^^^ @string.special +package sls.asfd.asfd; +// ^^^ @variable +// ^ @punctuation.delimiter +// ^^^^ @variable.member +// ^ @punctuation.delimiter +// ^^^^ @variable.member +// ^ @punctuation.delimiter + +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; +//<- @keyword.import + +option (gogoproto.sizer_all) = true; +option (gogoproto.marshaler_all) = true; +option (gogoproto.unmarshaler_all.foo) = true; +// ^^^^^^^^^ @variable +// ^^^^^^^^^^^^^^^ @variable.member +// ^ @punctuation.delimiter +// ^^^ @variable.member + +message LogContent +//<- @keyword.type +{ + required string Key = 1; +// ^^^^^^ @type +// ^^^ @property +// ^ @operator +// ^ @number + required string Value = 2; +// ^^^^^^ @type +// ^^^^^ @property + required CustomType Value = 2; +// ^^^^^^^^ @keyword.modifier +// ^^^^^^^^^^ @type + + optional string cgroup_pids_mount = 76 [default = "/sys/fs/cgroup/pids"]; + + optional JsonFormat json_format = 6 [ +// ^^^^^^^^ @keyword.modifier + retention = RETENTION_RUNTIME, +// ^^^^^^^^^^^^^^^^^ @variable +// ^ @punctuation.delimiter + targets = TARGET_TYPE_MESSAGE, +// ^^^^^^^ @property + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + edition_defaults = { edition: "2023", value: "ALLOW" } +// ^^^^^^^ @property +// ^ @punctuation.delimiter +// ^ @punctuation.delimiter +// ^ @punctuation.bracket + ]; +} + |
