Skip to content

Commit 9fde86d

Browse files
committed
fix(cpp) exclude keywords from function calls
1 parent d301848 commit 9fde86d

File tree

5 files changed

+12
-6
lines changed

5 files changed

+12
-6
lines changed

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ Core Grammars:
5050
- fix(swift) - Fixed syntax highlighting for class func/var declarations [guuido]
5151
- fix(yaml) - Fixed wrong escaping behavior in single quoted strings [guuido]
5252
- enh(nim) - Add `concept` and `defer` to list of Nim keywords [Jake Leahy]
53+
- fix(cpp) - Exclude keywords from highlighting as function calls [Eisenwave]
5354

5455
New Grammars:
5556

@@ -98,6 +99,7 @@ CONTRIBUTORS
9899
[Laurel King]: https://github.com/laurelthorburn
99100
[Kristian Ekenes]: https://github.com/ekenes
100101
[Danny Winrow]: https://github.com/dannywinrow
102+
[Eisenwave]: https://github.com/Eisenwave/
101103

102104

103105
## Version 11.10.0

src/languages/cpp.js

Lines changed: 1 addition & 5 deletions
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

Lines changed: 4 additions & 0 deletions
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

Lines changed: 4 additions & 0 deletions
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

Lines changed: 1 addition & 1 deletion
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)