Debug Console

Provides a set of interfaces and classes for rendering and annotating text in the debug console.

## Package Specification

This package provides a set interfaces and classses for coloring streams of text, parsing output, and creating hyperlinks in the debug console.

### Coloring Console Output

A process may have standard input, output, and error streams associated with, as defined by org.eclipse.debug.core.model.IProcess and org.eclipse.debug.core.model.IStreamsProxy. When a process is registered with the debug plug-in, a document is created to display the output of that process, and to provide input to the process via the keyboard. A console document is displayed in the Console View. By default, the output, error, and input streams are rendered in colors specified by user preferences.

A client can specialize coloring for a process's streams by defining an IConsoleColorProvider extension (using the org.eclipse.debug.ui.consoleColorProviders extension point). A console color provider is defined for a type of process. A process type is defined by the creator of a process, and is specified on an IProcess via the ATTR_PROCESS_TYPE attribute. When a process is registered with the debug plug-in, a console color provider associated with the process type is instantiated, and connected to the process (IProcess) and a console (IConsole). The console color provider then connects its streams to the console (IConsole), via the console methods connect(IStreamsProxy) and connect(IStreamMonitor, String). The color provider will then be consulted to provide a color when the console needs to render output from a stream.

### Parsing Console Output

A client can be notified of output appended to a process's console document, by defining an IConsoleLineTracker extension (using the org.eclipse.debug.ui.consoleLineTrackers extension point). A console line tracker is defined for a type of process. When a process is registered with the debug plug-in, a console document is created for that process, and output is appended to that document. As output is written to the document, each console line tracker extension defined for that process type is notified of output, line by line. This support is most commonly used to annotate output with hyperlinks.