highlightjs / highlight.js

JavaScript syntax highlighter with language auto-detection and zero dependencies.
https://highlightjs.org/
BSD 3-Clause "New" or "Revised" License
23.3k stars 3.52k forks source link

(C/C++) Hex float literal hilit #4065

Open sprintersb opened 2 weeks ago

sprintersb commented 2 weeks ago

Describe the issue

The rendering of a hexadecimal floating-point constant may stop in the middle of the literal

double a = -0x1.638e38e38e38ep5;

Live example: https://stackoverflow.com/q/78603151/1556746

Such literals are supported since C++17 / C99.

Which language seems to have the issue?

C/C++ (in stackoverflow what's renderd for the cpp "language").

Are you using highlight or highlightAuto?

Dunno. Using stackoverflow, and they said at Meta that I should report it here at highlight.js ...

Sample Code to Reproduce

double a = -0x1.638e38e38e38ep5;

though the artifact looks different here than on stackoverflow.

Expected behavior

A literal should either be highlightet completey, or not at all.

Additional context

Popped up in the context of stackoverflow