> On Apr 10, 2019, at 4:54 PM, Brian Goetz <[email protected]> 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> “
“””””””””””””””””””””””””””””””””””””””””””””””;