Java: add binaries & hex-float, and support underscores in numbers
Summary:
Some improvements in the highlighting of literal numbers:
- Add binaries: 0b1010 [1][3].
BUG: 386391
- Allow underscores in numbers (Float, Int, Hex, Octal & Binary) [2][3][4].
NOTE: The exact format of the numbers supported can be found in ref. [3] & [4].
- Add hexadecimal floating point: 0xA21.F18p+123 [4].
- Add missing suffixes in numbers: "L" in Hex & Octal, and "D" in Float [3][4].
References:
- [1] Java (8) Documentation. Binary Literals: https://docs.oracle.com/javase/8/docs/technotes/guides/language/binary-literals.html
- [2] Java (8) Documentation. Underscores in Numeric Literals: https://docs.oracle.com/javase/8/docs/technotes/guides/language/underscores-literals.html
- [3] Java Language Specification. Chapter 3, Lexical Structure. [3.10.1] Integer Literals: https://docs.oracle.com/javase/specs/jls/se10/html/jls-3.html#jls-3.10.1
- [4] Java Language Specification. Chapter 3, Lexical Structure. [3.10.2] Floating-Point Literals: https://docs.oracle.com/javase/specs/jls/se10/html/jls-3.html#jls-3.10.2
Reviewers: dhaumann, cullmann, vkrause, Kate
Reviewed By: cullmann, Kate
Subscribers: ngraham, kwrite-devel, kde-frameworks-devel
Tags: Kate, Frameworks
Differential Revision: https://phabricator.kde.org/D14702