languages: Add structs, unions and enums to outline in C (#46125)

ozacod created

Before:
<img width="1179" height="739" alt="before"
src="https://github.com/user-attachments/assets/de594de2-ac70-40cf-8813-bb8c02e95014"
/>


After:
<img width="1009" height="696" alt="after"
src="https://github.com/user-attachments/assets/b68b9f84-7f15-4baf-99ed-a259ca07e815"
/>

Release Notes:

- Fixed struct union enum outline issues for c

Change summary

crates/languages/src/c/outline.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Detailed changes

crates/languages/src/c/outline.scm 🔗

@@ -9,6 +9,25 @@
         "(" @context
         ")" @context)) @item
 
+(struct_specifier
+    "struct" @context
+    name: (_) @name) @item
+
+(union_specifier
+    "union" @context
+    name: (_) @name) @item
+
+(enum_specifier
+    "enum" @context
+    name: (_) @name) @item
+
+(enumerator
+    name: (_) @name) @item
+
+(field_declaration
+    type: (_) @context
+    declarator: (field_identifier) @name) @item
+
 (type_definition
     "typedef" @context
     declarator: (_) @name) @item