-- $Date: 2004/01/28 05:10:09 $
-- $Revision: 1.4 $
-- $Author: jcrocholl $

with Writers; use Writers;

-- Light-weight text output file writers with indentation.
package Indent_Writers is

   -- Light-weight text output file writer with indentation.
   type Indent_Writer is
     new Writer with
      record
         Indent_Char  : Character := Character'Val(9);
         Indent_Count : Natural := 1;
         Indent_Level : Natural := 0;
      end record;

   -- Type for instance variables.
   type Indent_Writer_Access is access all Indent_Writer'Class;

   ---------------------
   -- Adjust indentation
   ---------------------

   -- Increase the indentation level.
   procedure Indent
     (This : access Indent_Writer'Class); -- Writer instance.

   -- Decrease the indentation level.
   procedure Unindent
     (This : access Indent_Writer'Class); -- Writer instance.

   --------------------
   -- Write indentation
   --------------------

   -- Output indentation characters to the file.
   procedure Write_Indent
     (This : access Indent_Writer'Class); -- Writer instance.

end Indent_Writers;