rxada_0.1.1_dd9da799/dirx/src/examples/dirx-lsr.adb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
with Ada.Command_Line;
with Ada.Directories;
with Ada.Text_IO;

with DirX.Observables;

-- with Rx.Std; use Rx.Std;

procedure DirX.Lsr is
   use Ada.Command_Line;

   ---------------------
   -- Print_Full_Name --
   ---------------------

   procedure Print_Full_Name (This : DirX.Directory_Entry) is
   begin
      Ada.Text_IO.Put_Line (Ada.Directories.Full_Name (This.Get_Entry));
   end Print_Full_Name;

   Target : constant Path := (if Argument_Count = 0
                              then "."
                              else Argument (1));
begin
   --  Recursive listing of files
   DirX.Observables.RxEntries.Observables.For_Each
     (DirX.Observables.Directory_Entries (Target, Recursive => True),
      On_Next => Print_Full_Name'Unrestricted_Access);

end DirX.Lsr;