<> <> 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] RETURNS [out: IO.STREAM]; <> <> <> <> 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]; <> <> <> IsATS: PROC [s: IO.STREAM] RETURNS [is: BOOLEAN]; <> CopyChildren: PROC [from: TextNode.Ref, to: TiogaFileOps.Ref]; END.