> On Apr 10, 2019, at 4:54 PM, Brian Goetz <brian.go...@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>                                      “
              “””””””””””””””””””””””””””””””””””””””””””””””;


Reply via email to