<div dir="ltr">Ok, after thinking about it for a bit, I decided to go ahead and implement the "customizable leading whitespace" thing right away, as a lot of people seemed to want it, and also because I just realized that it would not be difficult at all to do.<div><br></div><div>So, that said, my <a href="https://github.com/Akira13641/freepascal">Github fork branch</a> of the compiler now contains a {$MultiLineStringTrimLeft} directive, that does precisely what you might think. Here's one of my compiler tests, which I think demonstrates it fairly well:</div><div><br></div><div>program tmultilinestring14;<br><br>{$modeswitch MultiLineStrings}<br><br>{$MultiLineStringTrimLeft 2}<br><br>const A = `<br>  A<br>  B<br>  C<br>  D<br>`;<br><br>{$MultiLineStringTrimLeft 4}<br><br>const B = `<br>    A<br>    B<br>    C<br>    D<br>`;<br><br>begin<br>  Write(A);<br>  Write(B);<br><br>  { The number-to-trim being larger, (even much larger) than the amount of whitespace is not a problem,<br>    as it stops immediately when it is no longer actually *in* whitespace regardless. }<br><br>  {$MultiLineStringTrimLeft 10000}<br><br>  { Non-leading whitespace is preserved properly, of course. }<br><br>  Write(`<br>        sdfs<br>        sd fs fs<br>        sd  fsfs  sdfd sfdf<br>        sdfs fsd<br>  `);<br>end.<br></div><div><br></div><div>The output looks like this, showing that everything appears as though it was written at the "far left" of the file without indentation:</div><div><br>A<br>B<br>C<br>D<br><br>A<br>B<br>C<br>D<br><br>sdfs<br>sd fs fs<br>sd  fsfs  sdfd sfdf<br>sdfs fsd<br></div><div><br></div><div>Hopefully this will quell some of the uncertainties people may still have had about the feature, and also ultimately make it easier to use overall!</div></div>