A complement to Frédéric Praca answer:
Depending on your needs, you can use ASCII package instead of Ada.Characters.* (such as Latin_1, Latin_9, Wide_Latin_.. etc.). ASCII can not be with'ed since it is not a package, so you'll have to prefix everything (or define "aliases" using renames)
declare
flex : constant String := "Foo" & ASCII.CR & "bar" & ASCII.LF;
flux : constant String := "Foo" & ASCII.CR
& "bar" & ASCII.LF;
begin
-- do stuff
null;
end;
One could define a custom & operator to use it as a new line insertion point. But ... how useful is it ?
function Foo (Left, Right : String) return String renames "&";
function Boo (Left : String; Right : Character) return String renames "&";
function "&" (Left, Right : String) return String is begin
return Foo (
Boo (Left, ASCII.LF),
Right);
end "&";
Ada.Text_IO.Put_Line("Foo" &
"bar");