diff --git a/CHANGES.md b/CHANGES.md index c38f3158e7..d0ad3f8cab 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,7 +1,8 @@ ## Version 11.3.0 (most likely) -enh(css/less/stylus/scss) improve consistency of function dispatch (#3301) [Josh Goebel][] -enh(css/less/stylus/scss) detect block comments more fully (#3301) [Josh Goebel][] +- enh(css/less/stylus/scss) improve consistency of function dispatch (#3301) [Josh Goebel][] +- enh(css/less/stylus/scss) detect block comments more fully (#3301) [Josh Goebel][] +- fix(cpp) switch is a keyword (#3312) [Josh Goebel][] - fix(cpp) fix `xor_eq` keyword highlighting. [Denis Kovalchuk][] - enh(css/less/stylus/scss) add support for CSS Grid properties [monochromer][] diff --git a/src/languages/cpp.js b/src/languages/cpp.js index ecf89cdd64..2c1976e588 100644 --- a/src/languages/cpp.js +++ b/src/languages/cpp.js @@ -411,6 +411,7 @@ export default function(hljs) { /(?!decltype)/, /(?!if)/, /(?!for)/, + /(?!switch)/, /(?!while)/, hljs.IDENT_RE, regex.lookahead(/(<[^<>]+>|)\s*\(/)) diff --git a/test/markup/cpp/function-like-keywords.expect.txt b/test/markup/cpp/function-like-keywords.expect.txt new file mode 100644 index 0000000000..f58427e223 --- /dev/null +++ b/test/markup/cpp/function-like-keywords.expect.txt @@ -0,0 +1,7 @@ +if (ch) {} + +switch (ch) {} + +while (ch) {} + +for (;;) {} diff --git a/test/markup/cpp/function-like-keywords.txt b/test/markup/cpp/function-like-keywords.txt new file mode 100644 index 0000000000..514676c0a0 --- /dev/null +++ b/test/markup/cpp/function-like-keywords.txt @@ -0,0 +1,8 @@ + +if (ch) {} + +switch (ch) {} + +while (ch) {} + +for (;;) {}