zig: Fix highlighting of keywords like `orelse`, `or`, `and` (#18323)

Thorsten Ball created

This changes the Zig highlights.scm to tag all keywords with `@keyword`
and not with `@keyword.<subtype>`, so the highlighting works properly.

Closes #9355

Release Notes:

- N/A

Demo:

![screenshot-2024-09-25-09 32
20@2x](https://github.com/user-attachments/assets/567b8817-a522-4741-af7f-dcb1a79ddd40)

Change summary

extensions/zig/languages/zig/highlights.scm | 78 +++++++---------------
1 file changed, 24 insertions(+), 54 deletions(-)

Detailed changes

extensions/zig/languages/zig/highlights.scm 🔗

@@ -103,6 +103,7 @@ field_constant: (IDENTIFIER) @constant
 (BlockLabel (IDENTIFIER) @tag)
 
 [
+  "fn"
   "asm"
   "defer"
   "errdefer"
@@ -112,84 +113,53 @@ field_constant: (IDENTIFIER) @constant
   "enum"
   "opaque"
   "error"
-] @keyword
-
-[
+  "try"
+  "catch"
+  "for"
+  "while"
+  "break"
+  "continue"
+  "const"
+  "var"
+  "volatile"
+  "allowzero"
+  "noalias"
+  "addrspace"
+  "align"
+  "callconv"
+  "linksection"
+  "comptime"
+  "export"
+  "extern"
+  "inline"
+  "noinline"
+  "packed"
+  "pub"
+  "threadlocal"
   "async"
   "await"
   "suspend"
   "nosuspend"
   "resume"
-] @keyword.coroutine
-
-[
-  "fn"
-] @keyword
-
-[
   "and"
   "or"
   "orelse"
-] @operator
-
-[
   "return"
-] @keyword.return
-
-[
   "if"
   "else"
   "switch"
-] @keyword.control
-
-[
-  "for"
-  "while"
-  "break"
-  "continue"
 ] @keyword
 
 [
   "usingnamespace"
 ] @constant
 
-[
-  "try"
-  "catch"
-] @keyword
-
 [
   "anytype"
   "anyframe"
   (BuildinTypeExpr)
 ] @type
 
-[
-  "const"
-  "var"
-  "volatile"
-  "allowzero"
-  "noalias"
-] @keyword
-
-[
-  "addrspace"
-  "align"
-  "callconv"
-  "linksection"
-] @keyword.storage
-
-[
-  "comptime"
-  "export"
-  "extern"
-  "inline"
-  "noinline"
-  "packed"
-  "pub"
-  "threadlocal"
-] @keyword
-
 [
   "null"
   "unreachable"