Skip to content

Commit 224d7fe

Browse files
authored
fix(cpp) exclude keywords from function calls (#4217)
1 parent cbf7c83 commit 224d7fe

File tree

5 files changed

+12
-6
lines changed

5 files changed

+12
-6
lines changed

CHANGES.md

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ Core Grammars:
5959
- fix(swift) - Fixed syntax highlighting for class func/var declarations [guuido]
6060
- fix(yaml) - Fixed wrong escaping behavior in single quoted strings [guuido]
6161
- enh(nim) - Add `concept` and `defer` to list of Nim keywords [Jake Leahy]
62+
- fix(cpp) - Exclude keywords from highlighting as function calls [Eisenwave]
6263

6364
New Grammars:
6465

@@ -107,6 +108,7 @@ CONTRIBUTORS
107108
[Laurel King]: https://github.com/laurelthorburn
108109
[Kristian Ekenes]: https://github.com/ekenes
109110
[Danny Winrow]: https://github.com/dannywinrow
111+
[Eisenwave]: https://github.com/Eisenwave/
110112

111113

112114
## Version 11.10.0

src/languages/cpp.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -425,11 +425,7 @@ export default function(hljs) {
425425
_hint: FUNCTION_HINTS },
426426
begin: regex.concat(
427427
/\b/,
428-
/(?!decltype)/,
429-
/(?!if)/,
430-
/(?!for)/,
431-
/(?!switch)/,
432-
/(?!while)/,
428+
`(?!${RESERVED_KEYWORDS.join('|')})`,
433429
hljs.IDENT_RE,
434430
regex.lookahead(/(<[^<>]+>|)\s*\(/))
435431
};

test/markup/cpp/function-like-keywords.expect.txt

+4
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@
66
<span class="hljs-keyword">while</span> (ch) {}
77

88
<span class="hljs-keyword">for</span> (;;) {}
9+
10+
<span class="hljs-function"><span class="hljs-type">void</span> <span class="hljs-title">f</span><span class="hljs-params">()</span> </span>= <span class="hljs-keyword">delete</span>(<span class="hljs-string">&quot;reason&quot;</span>);
11+
12+
<span class="hljs-keyword">static_assert</span>(<span class="hljs-literal">true</span>);

test/markup/cpp/function-like-keywords.txt

+4
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@ switch (ch) {}
66
while (ch) {}
77

88
for (;;) {}
9+
10+
void f() = delete("reason");
11+
12+
static_assert(true);

test/markup/cpp/template-complexity.expect.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<span class="hljs-keyword">template</span>&lt;<span class="hljs-keyword">class</span> <span class="hljs-title class_">T</span>, <span class="hljs-keyword">class</span> = std::<span class="hljs-type">enable_if_t</span>&lt;!impl::is_streamable_v&lt;<span class="hljs-type">const</span> T &amp;&gt; &amp;&amp; std::is_convertible_v&lt;<span class="hljs-type">const</span> T &amp;, std::wstring_view&gt;&gt;&gt;
1111
std::wostream &amp;<span class="hljs-keyword">operator</span> &lt;&lt;(std::wostream &amp;stream, <span class="hljs-type">const</span> T &amp;thing)
1212
{
13-
<span class="hljs-keyword">return</span> stream &lt;&lt; <span class="hljs-built_in">static_cast</span>&lt;std::wstring_view&gt;(thing);
13+
<span class="hljs-keyword">return</span> stream &lt;&lt; <span class="hljs-keyword">static_cast</span>&lt;std::wstring_view&gt;(thing);
1414
}
1515

1616
<span class="hljs-keyword">enum struct</span> <span class="hljs-title class_">DataHolder</span> { };

0 commit comments

Comments
 (0)