Command Sequencer Filter. This is an output filter that handles the special <.commandsep> tag for visual command separation. This tag has the form of a style tag, but must be processed specially.

<.commandsep> shows an appropriate separator between commands. Before the first command output or after the last command output, this has no effect. A run of multiple consecutive <.commandsep> tags is treated as a single tag.

Between commands, we show gLibMessages.commandResultsSeparator. After an input line and before the first command result text, we show gLibMessages.commandResultsPrefix. After the last command result text before a new input line, we show gLibMessages.commandResultsSuffix. If we read two input lines, and there is no intervening text output at all, we show gLibMessages.commandResultsEmpty.

The input manager should write a <.commandbefore> tag whenever it starts reading a command line, and a <.commandafter> tag whenever it finishes reading a command line.

transient commandSequencer :   OutputFilter

Superclass Tree   (in declaration order)


Summary of Properties  

patNextTag  state_ 

Summary of Methods  

filterText  setCommandMode  writeThrough 



pre-compile our tag sequence pattern

our current state - start out in before-command mode


filterText (ostr, txt)OVERRIDDENoutput.t[1656]

Apply our filter

setCommandMode ( )output.t[1618]
Force the sequencer into mid-command mode. This can be used to defeat the resequencing into before-results mode that occurs if any interactive command-line input must be read in the course of a command's execution.

writeThrough (txt)output.t[1624]
Internal routine: write the given text directly through us, skipping any filtering we'd otherwise apply.

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3