14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
-
+
-
+
|
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --
------------------------------------------------------------------------------
package body Natools.S_Expressions.Printers.Pretty.Config is
procedure Read_Screen_Offset
(Expression : in out Lockable.Descriptor'Class;
Value : out Screen_Offset;
Value : in out Screen_Offset;
Has_Value : out Boolean);
-- Decode a screen offset from a S-expression
procedure Update_Casing
(Casing : in out Encodings.Hex_Casing;
Name : in Atom);
function To_Atom (Value : in Screen_Offset) return Atom;
function To_Atom (Before, After : in Entity) return Atom;
function To_String (Value : in Entity) return String;
------------------------------
-- Local Helper Subprograms --
------------------------------
procedure Read_Screen_Offset
(Expression : in out Lockable.Descriptor'Class;
Value : out Screen_Offset;
Value : in out Screen_Offset;
Has_Value : out Boolean)
is
Result : Screen_Offset := 0;
begin
Has_Value := False;
if Expression.Current_Event /= Events.Add_Atom then
|
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
|
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
|
-
+
|
procedure Execute
(Self : in out Set_Tab_Stop;
State : in out Parameters;
Context : in Boolean;
Cmd : in out Lockable.Descriptor'Class)
is
pragma Unreferenced (Self, Context);
Value : Screen_Offset;
Value : Screen_Offset := 0;
Has_Value : Boolean;
begin
Cmd.Next;
Read_Screen_Offset (Cmd, Value, Has_Value);
if Has_Value and then Value /= 0 then
State.Tab_Stop := Value;
end if;
|