780
781
782
783
784
785
786
787
788
789
790
791
792
793
|
-----------------------
-- Printer Interface --
-----------------------
overriding procedure Open_List (Output : in out Printer) is
begin
if not Output.First then
if Output.Param.Newline_At (Output.Previous, Opening) then
Newline (Output);
elsif Output.Param.Space_At (Output.Previous, Opening) then
Output.Stream.Write ((0 => Encodings.Space));
Output.Cursor := Output.Cursor + 1;
end if;
|
>
>
>
>
>
>
>
>
|
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
|
-----------------------
-- Printer Interface --
-----------------------
overriding procedure Open_List (Output : in out Printer) is
begin
if Output.Param.Width > 0
and then Output.Cursor > Output.Param.Width
and then Output.Cursor > Indent_Width (Output) + 1
then
Newline (Output);
Output.First := True; -- inhibit extra space or newline
end if;
if not Output.First then
if Output.Param.Newline_At (Output.Previous, Opening) then
Newline (Output);
elsif Output.Param.Space_At (Output.Previous, Opening) then
Output.Stream.Write ((0 => Encodings.Space));
Output.Cursor := Output.Cursor + 1;
end if;
|
946
947
948
949
950
951
952
953
954
955
956
957
958
959
|
end;
end Append_Atom;
overriding procedure Close_List (Output : in out Printer) is
begin
Output.Indent_Level := Output.Indent_Level - 1;
if not Output.First then
if Output.Param.Newline_At (Output.Previous, Closing) then
Newline (Output);
elsif Output.Param.Space_At (Output.Previous, Closing) then
Output.Stream.Write ((0 => Encodings.Space));
Output.Cursor := Output.Cursor + 1;
|
>
>
>
>
>
>
>
>
|
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
|
end;
end Append_Atom;
overriding procedure Close_List (Output : in out Printer) is
begin
Output.Indent_Level := Output.Indent_Level - 1;
if Output.Param.Width > 0
and then Output.Cursor > Output.Param.Width
and then Output.Cursor > Indent_Width (Output) + 1
then
Newline (Output);
Output.First := True; -- inhibit extra space or newline
end if;
if not Output.First then
if Output.Param.Newline_At (Output.Previous, Closing) then
Newline (Output);
elsif Output.Param.Space_At (Output.Previous, Closing) then
Output.Stream.Write ((0 => Encodings.Space));
Output.Cursor := Output.Cursor + 1;
|