String reboot - (1a) incidental whitespace
Guy Steele
guy.steele at oracle.com
Wed Apr 10 21:36:34 UTC 2019
> On Apr 10, 2019, at 4:54 PM, Brian Goetz <brian.goetz at oracle.com> wrote:
>
> This is a plateful!
>
> Stripping "incidental" whitespace is an attractive target of opportunity; the real question is, can we do it right enough of the time, and when we get it wrong, is there an easy way for the user to recover and get what they want?
>
> Kevin described this as: "find the magic rectangle"; that there should be a rectangle enclosing the snippet that sets apart the incidental whitespace from the essential. In your examples, most of the time, the magic rectangle is, well, the actual rectangle in your text.
>
>
>>
>> Examples;
>>
>> String a = """
>> +--------+
>> | text |
>> +--------+
>> """; // first characters in first column?
Which suggests yet another approach to multiline string literals:
String a = “””””””””””””””””””””””””””””””””””””””
“A rectangle of double quotes "
“ can enclose any arbitrary text “
“ with any desired indentation, “
“ and you can assume any trailing “
“ whitespace on each line will be “
“ removed and that each line will “
“ end with a \\n. “
“ “
“So all you need is IDE support for “
“ making nice rectangles. “
“””””””””””””””””””””””””””””””””””””””;
String result = “”””””””””””””””””””””””””””””””””””””””””””””””
“public class Main { “
“ public static void main(String... args) { “
“ System.out.println("Hello World!”); “
“ } “
“} “
“”””””””””””””””””””””””””””””””””””””””””””””””;
String html = “””””””””””””””””””””””””””””””””””””””””””””””
“<html> “
“ <body style=\"width: 100vw\”> “
“ <p>Hello World.</p> “
“ </body> “
“ <script>console.log(\"\\nloaded\")</script>”
“</html> “
“””””””””””””””””””””””””””””””””””””””””””””””;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20190410/b970e868/attachment.html>
More information about the amber-spec-experts
mailing list