Description
JavaScript syntax highlighting errors: Source Code viewer on codecov.io
-
Backslash in template strings are incorrectly highlighted
\n
in an ES6 template string has a red box rendered around the\
Example: here (line 151)
Appears to be upstream pygments/pygments#1679 - fixed in Pygments 2.8.0 -
Optional chaining operator completely breaks the highlighting / parser
The ES2020 optional chaining operator?.
has a red box rendered around the?
then further syntax highlighting / parsing completely breaks
Example: here (line 224)
Appears to be fixed in latest Pygments - demo does not exhibit issue. -
Hash symbol in comment incorrectly highlighted
#
at the start of a line inside a multi-line comment has a red box rendered
Example: here (line 207)
Pygments demo does not exhibit issue. -
Nested template string incorrectly highlighted
A nested ES6 template string inside a${}
placeholder itself containing a placeholder is incorrectly parsed and highlighted.
Example: here (line 324)
Pygments demo does not exhibit issue.
Suggested fix
- Bump Pygments on codecov.io to latest version.
- Test syntax highlighting / parser for conformance with ES2020 / ES2021 e.g. using the ECMAScript Test Suite
- In particular the new Nullish Coalescing, Optional Chaining and Logical Assignment Operators which alter the language grammar
- Watch GitHub - tc39/proposals: Tracking ECMAScript Proposals for other Stage 3 proposals that alter the language grammar since they are likely already shipping in production browsers / node.js