Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | s_expressions-printers-pretty: add valid default values to Parameter objects
This ensures that default Parameters objects are valid, and therefore that pretty printers without explicit parameter initialization are valid (and canonical) too. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
89b2db0d6d65580c51038a92e591858e |
| User & Date: | nat 2014-06-08 19:08:16.631 |
Context
|
2014-06-09
| ||
| 19:01 | s_expressions-file_readers: reset parser state in Rewind check-in: a61c83ef7e user: nat tags: trunk | |
|
2014-06-08
| ||
| 19:08 |
s_expressions-printers-pretty: add valid default values to Parameter objects
This ensures that default Parameters objects are valid, and therefore that pretty printers without explicit parameter initialization are valid (and canonical) too. check-in: 89b2db0d6d user: nat tags: trunk | |
|
2014-06-07
| ||
| 17:11 | s_expressions-file_rw_tests: new test suite for both S-expression file readers and writers check-in: 5787543b72 user: nat tags: trunk | |
Changes
Changes to src/natools-s_expressions-printers-pretty.ads.
| ︙ | ︙ | |||
37 38 39 40 41 42 43 | type Quoted_Option is (When_Shorter, Single_Line, No_Quoted); type Token_Option is (Extended_Token, Standard_Token, No_Token); type Screen_Offset is new Natural; subtype Screen_Column is Screen_Offset range 1 .. Screen_Offset'Last; type Parameters is record | | | | | | | | | | | | | | > > | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
type Quoted_Option is (When_Shorter, Single_Line, No_Quoted);
type Token_Option is (Extended_Token, Standard_Token, No_Token);
type Screen_Offset is new Natural;
subtype Screen_Column is Screen_Offset range 1 .. Screen_Offset'Last;
type Parameters is record
Width : Screen_Offset := 0;
Newline_At : Entity_Separator := (others => (others => False));
Space_At : Entity_Separator := (others => (others => False));
Tab_Stop : Screen_Column := 8; -- *
Indentation : Screen_Offset := 0;
Indent : Indent_Type := Spaces; -- *
Quoted : Quoted_Option := No_Quoted;
Token : Token_Option := No_Token;
Hex_Casing : Encodings.Hex_Casing := Encodings.Upper; -- *
Quoted_Escape : Quoted_Escape_Type := Hex_Escape; -- *
Char_Encoding : Character_Encoding := ASCII; -- *
Fallback : Atom_Encoding := Verbatim;
Newline : Newline_Encoding := LF; -- *
end record;
-- Default values yield canonical encoding, though fields marked with
-- an asterisk (*) can have any value and still be canonical.
Canonical : constant Parameters := (others => <>);
type Printer is abstract limited new Printers.Printer with private;
procedure Write_Raw
(Output : in out Printer;
Data : in Ada.Streams.Stream_Element_Array)
is abstract;
|
| ︙ | ︙ | |||
125 126 127 128 129 130 131 |
Cursor : Screen_Column := 1;
Previous : Entity;
First : Boolean := True;
Indent_Level : Screen_Offset := 0;
Need_Blank : Boolean := False;
end record;
| < < < < < < < < < < < < < < < | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
Cursor : Screen_Column := 1;
Previous : Entity;
First : Boolean := True;
Indent_Level : Screen_Offset := 0;
Need_Blank : Boolean := False;
end record;
type Stream_Printer (Stream : access Ada.Streams.Root_Stream_Type'Class) is
new Printer with null record;
overriding procedure Write_Raw
(Output : in out Stream_Printer;
Data : in Ada.Streams.Stream_Element_Array);
end Natools.S_Expressions.Printers.Pretty;
|