C# Class MarkupLineEncoder, Malevich

Implements a very primitive syntax highlighter which emulates Visual Studio HTML/XML syntax coloring. This is just a sample code, and is not a part of Malevich installation. Nevertheless, it is fairly complex. If you develop your own based on this sample, please consider running the test to make sure corner cases are handled. The test is SampleHighlighterTest Important note: this code is ridiculously slow. It needs to be rewritten using regular expressions.
Inheritance: ILineEncoder
ファイルを表示 Open project: daptiv/Malevich

Public Methods

Method Description
Dispose ( ) : void

Does nothing, just satisfies ILineEncoder interface.

EncodeLine ( string s, int maxLineWidth, string tab ) : string

Encodes the string. Unlike standard HtmlEncode, our custom version preserves spaces correctly. Also, converts tabs to "\t", and breaks lines in chunks of maxLineWidth non-breaking segments.

GetEncoderCssStream ( ) : TextReader

Returns the CSS used by the encoder.

MarkupLineEncoder ( ) : System.IO

Instantiates the MarkupLineEncoder.

Method Details

Dispose() public method

Does nothing, just satisfies ILineEncoder interface.
public Dispose ( ) : void
return void

EncodeLine() public method

Encodes the string. Unlike standard HtmlEncode, our custom version preserves spaces correctly. Also, converts tabs to "\t", and breaks lines in chunks of maxLineWidth non-breaking segments.
public EncodeLine ( string s, int maxLineWidth, string tab ) : string
s string The string to encode.
maxLineWidth int The maximum width.
tab string Text string to replace tabs with.
return string

GetEncoderCssStream() public method

Returns the CSS used by the encoder.
public GetEncoderCssStream ( ) : TextReader
return TextReader

MarkupLineEncoder() public method

Instantiates the MarkupLineEncoder.
public MarkupLineEncoder ( ) : System.IO
return System.IO