- DelphiTools - https://www.delphitools.info -

“heredoc” multi-line strings

DWScript [1] now supports multi-line strings, aka “heredoc”, using the same syntax as Prism/Oxygene [2], which involves double-quoting them, for instance:

s := "Lorem ipsum 'dolor' sit amet, consectetur adipiscing elit.
Duis l'ipsum odio, pretium ""hendrerit"" varius sed,
aliquet vitae elit.
Sed eu libero nec nisl ""malesuada"" dignissim.";

is equivalent to

s := 'Lorem ipsum ''dolor'' sit amet, consectetur adipiscing elit.'#13#10
    +'Duis l''ipsum odio, pretium "hendrerit" varius sed,'#13#10
    +'aliquet vitae elit.'#13#10
    +'Sed eu libero nec nisl "malesuada" dignissim.';

Which can be quite useful when you have multi-line string content, such as an SQL query, a long format string, a snippet of CSS/HTML/XML, etc.

Nate that if you’re using The SynEdit [3], the DWS highlighter has been updated and properly highlights those, you just need to get it from the SynEdit SVN.

It a slight cosmetic issue, shared AFAICT by other languages [4] that implement “heredoc”, which is that if you don’t want to have spurious whitespace/tabs in the multi-line string, you basically have to break indentation.

Does any one knows a language which has a convenient “heredoc” syntax that would alleviate this issue?