<> <> DIRECTORY IO, Rope, TextNode, TiogaFileOps; TiogaStreams: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; <> CreateInput: PROC [from: TextNode.Ref, commentHandling: CommentHandling _ discard, levelPrefix: ROPE _ NIL] RETURNS [in: IO.STREAM]; <> <> CommentHandling: TYPE = {discard, useDirectly, prefixWithDashDash}; <> CurInLoc: PROC [s: IO.STREAM] RETURNS [loc: TextNode.Location]; <> SkipChildren: PROC [s: IO.STREAM]; <> <> CreateOutput: PROC [to: TiogaFileOps.Ref, breakAtNewline: BOOL _ FALSE, levelPrefix, defaultFormat: ROPE _ NIL, flexilevel: BOOL _ FALSE, spacesPerTab, normalNestIndent: INT _ 0] RETURNS [out: IO.STREAM]; <> <> <> <0; nothing else is white.>> <> <0, THEN each node whose amout of leading white space exceeds its parent's by an amout different than normalNestIndent gets a Postfix property adjusting its appearance to match the amount of leading white space.>> CurOutNode: PROC [s: IO.STREAM] RETURNS [n: TiogaFileOps.Ref]; <> EndNode: PROC [s: IO.STREAM, depthOp: DepthOp _ reset, idempotently: BOOLEAN _ FALSE]; <> DepthOp: TYPE = {same, reset}; SetFormat: PROC [of: IO.STREAM, format: ROPE]; <> ChangeDepth: PROC [s: IO.STREAM, deltaDepth: INTEGER _ 0, autoEndNode: BOOL _ TRUE, idempotently: BOOL _ FALSE]; <> <> <> <> NotNow: ERROR [s: IO.STREAM]; <> BadDepth: ERROR [s: IO.STREAM, depth: INT]; <> <> CallerBug: ERROR [s: IO.STREAM, message: ROPE]; <> <> IsATS: PROC [s: IO.STREAM] RETURNS [is: BOOLEAN]; <> CopyChildren: PROC [from: TextNode.Ref, to: TiogaFileOps.Ref]; END.