> 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> “ “””””””””””””””””””””””””””””””””””””””””””””””;