diff --git a/extensions/cpp/syntaxes/c++.plist b/extensions/cpp/syntaxes/c++.plist
index 6a76b757ec6..cabc704c171 100644
--- a/extensions/cpp/syntaxes/c++.plist
+++ b/extensions/cpp/syntaxes/c++.plist
@@ -30,6 +30,10 @@
include
#special_block
+
+ include
+ source.c
+
match
\b(friend|explicit|virtual)\b
@@ -182,69 +186,6 @@
-
- begin
- (?x)
- (?: ^ # begin-of-line
- |
- (?: (?= \s ) (?<!else|new|return) (?<=\w) # or word + space before name
- | (?= \s*[A-Za-z_] ) (?<!&&) (?<=[*&>]) # or type modifier before name
- )
- )
- (\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|[cr]?iterate)\s*\()
- (
- (?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name
- (?: (?<=operator) (?: [-*&<>=+!]+ | \(\) | \[\] ) ) # if it is a C++ operator
- )
- \s*(?=\()
- beginCaptures
-
- 1
-
- name
- punctuation.whitespace.function.leading.c
-
- 3
-
- name
- entity.name.function.c
-
- 4
-
- name
- punctuation.definition.parameters.c
-
-
- end
- (?<=\})|(?=#)|(;)
- name
- meta.function.c++
- patterns
-
-
- include
- #comments
-
-
- include
- #parens
-
-
- match
- \b(const|final|override|noexcept)\b
- name
- storage.modifier.$1.c++
-
-
- include
- #block
-
-
-
-
- include
- source.c
-
repository
diff --git a/extensions/cpp/syntaxes/c.plist b/extensions/cpp/syntaxes/c.plist
index 481fe002beb..66f6cd45412 100644
--- a/extensions/cpp/syntaxes/c.plist
+++ b/extensions/cpp/syntaxes/c.plist
@@ -430,6 +430,12 @@
include
#parens
+
+ match
+ \b(const|final|override|noexcept)\b
+ name
+ storage.modifier.$1.c++
+
include
#block
@@ -1180,4 +1186,4 @@
uuid
25066DC2-6B1D-11D9-9D5B-000D93589AF6
-
+
\ No newline at end of file