<table><tr><td style="">nibags retitled this revision from "JavaScript: Add unicode escape `\u{1234\}`" to "JavaScript: add binaries, fix octals and improve escapes".<br />nibags edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-n6iys7hayitwptl/">(Show Details)</a><br />nibags added reviewers: dhaumann, cullmann, Framework: Syntax Highlighting.<br />nibags changed the visibility from "No One" to "Public (No Login Required)".<br />nibags changed the edit policy from "No One" to "All Users".<br />Herald added a subscriber: kwrite-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13888">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">*</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">**Changes:**<br />
<br />
* Add binaries: `0b0101` [1]<br />
* Fix octals: the format of octals supported is: `0o1717`, but the HlCOct rule is equivalent to `01717`. [1]<br />
* Improve escapes [2]: HlCStringChar rule does not contain the exact escapes supported by JavaScript: <br />
        * The reserved character escapes are `'"\bfnrtv0`. These are now highlighted in bold (itemData: "Reserved Char. Escape").<br />
        * Hexadecimal escapes in JS only support 2 numbers: `\xNN`, but HlCStringChar admits 1 or 2.<br />
        * The maximum value of octal escape is `\377` (255 in decimal). For example, when typing `\477`, it's only considered as an escape: `\47`.<br />
        * Any character can be escaped (previously, in the templates, the special character "$" for substitutions is not escaped).<br />
* In "JavaScript React" the context "Conditional Expression", which is unnecessary, is eliminated to simplify the code.<br />
<br />
**References:**<br />
* [1] Standard ECMA-262,</span> ECMAScript 2015 Language Specification. <span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">[</span>11.8.<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">4 String</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">3] Numeric</span> Literals: https://ecma-international.org/ecma-262/6.0/#sec-literals-<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">string</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">numeric</span>-literals<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">* Java</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">* [2] Standard ECMA-262, ECMA</span>Script <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">character escape sequences</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">2015 Language Specification</span>. <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">ECMAScript 6: Unicode code point escape</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">[11.8.4] String Literal</span>s: https://<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">mathiasbynens.be/notes/javascript-escapes#unicode-code-point</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">ecma-international.org/ecma-262/6.0/#sec-literals-string-literals</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R216 Syntax Highlighting</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13888">https://phabricator.kde.org/D13888</a></div></div><br /><div><strong>To: </strong>nibags, dhaumann, cullmann, Framework: Syntax Highlighting<br /><strong>Cc: </strong>kwrite-devel, michaelh, kevinapavew, ngraham, bruns, demsking, cullmann, sars, dhaumann<br /></div>