languages: Fix C/C++ outline for function definitions and declarations with mixed storage and type qualifiers (#47500)
ozacod
created
Before:
<img width="1002" height="228" alt="before"
src="https://github.com/user-attachments/assets/94c5d0b7-a467-4bfe-8eaf-5a2c4b3cb7ea"
/>
After:
<img width="1002" height="228" alt="after"
src="https://github.com/user-attachments/assets/73d049d2-4dd1-40a4-ac21-984ca3fd32ee"
/>
Release Notes:
- Fixed C/C++ outline for function definitions and declarations with
mixed storage and type qualifiers.
Change summary
crates/languages/src/cpp/outline.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
Detailed changes
@@ -60,7 +60,10 @@
] @item)
(function_definition
- (type_qualifier)? @context
+ [
+ (storage_class_specifier)
+ (type_qualifier)
+ ]* @context
type: (_)? @context
declarator: [
(function_declarator
@@ -95,7 +98,10 @@
(type_qualifier)? @context) @item
(declaration
- (type_qualifier)? @context
+ [
+ (storage_class_specifier)
+ (type_qualifier)
+ ]* @context
type: (_)? @context
declarator: [
(field_identifier) @name