Add @operator, @lifetime and @punctuation.delimiters captures for Rust (#10885)

James Thurley created

Adds additional captures for theming rust code.

I'm uncertain about whether `#` belongs in the `@operator` capture, but
I didn't see a more appropriate capture name in my brief hunt in other
files. It is the prefix of an `attribute_item`.. suggestions welcome.

Release Notes:

- Added `@operator`, `@lifetime` and `@punctuation.delimiter` captures
to Rust highlights file.

Change summary

crates/languages/src/rust/highlights.scm | 57 +++++++++++++++++++++++++
1 file changed, 57 insertions(+)

Detailed changes

crates/languages/src/rust/highlights.scm 🔗

@@ -64,6 +64,16 @@
   "<" @punctuation.bracket
   ">" @punctuation.bracket)
 
+[
+  ";"
+  ","
+  "::"
+] @punctuation.delimiter
+
+[
+  "#"
+] @punctuation.special
+
 [
   "as"
   "async"
@@ -122,3 +132,50 @@
   (line_comment)
   (block_comment)
 ] @comment
+
+[
+  "!"
+  "!="
+  "%"
+  "%="
+  "&"
+  "&="
+  "&&"
+  "*"
+  "*="
+  "*"
+  "+"
+  "+="
+  ","
+  "-"
+  "-="
+  "->"
+  "."
+  ".."
+  "..="
+  "..."
+  "/"
+  "/="
+  ":"
+  ";"
+  "<<"
+  "<<="
+  "<"
+  "<="
+  "="
+  "=="
+  "=>"
+  ">"
+  ">="
+  ">>"
+  ">>="
+  "@"
+  "^"
+  "^="
+  "|"
+  "|="
+  "||"
+  "?"
+] @operator
+
+(lifetime) @lifetime