Source-highlight Library
srchilite::SourceFileHighlighter Class Reference

Highlights the contents of a file relying on a SourceHighlighter. More...

#include <sourcefilehighlighter.h>

Collaboration diagram for srchilite::SourceFileHighlighter:

List of all members.

Public Member Functions

 SourceFileHighlighter (const std::string &file, SourceHighlighter *sourceHighlighter, BufferedOutput *output)
void setDebugPolicy (FileHighlighterDebug p)
void setPreformatter (PreFormatter *pf)
void setContextFormatter (Formatter *cf)
void setLineNumGenerator (LineNumGenerator *lG)
void setLinePrefix (const std::string &prefix)
void setRangeSeparator (const std::string &rangeSep)
 The range separator will be automatically preformatted to deal with the specific output format.
const LineRangesgetLineRanges () const
void setLineRanges (LineRanges *lr)
void setRegexRanges (RegexRanges *rr)
void highlight ()
 Performs the highlighting; Once the highlighting is finished, this object can be re-used.
void highlight (std::istream &is)
 Performs the highlighting of the contents of the given input stream; Once the highlighting is finished, this object can be re-used.
void highlight (const std::string &is)
 Performs the highlighting of the contents of the given string; Once the highlighting is finished, this object can be re-used.

Private Attributes

const std::string fileName
 the name of the file to highlight
SourceHighlightersourceHighlighter
 the initial regexp state
BufferedOutputoutput
 the output object
FileHighlighterDebug debugPolicy
 debugging policy
PreFormatterpreformatter
 the preformatter for characters, e.g., for

LineNumGeneratorlineNumGenerator
 for generation of line numbers (if not null)
LineRangeslineRanges
 if not null, it detects whether a line is in the stored ranges
RegexRangesregexRanges
 if not null, it detects whether a line is in the stored ranges
FormattercontextFormatter
 the formatter for possible context lines
std::string linePrefix
 a prefix to be generated in front of each formatted code line
std::string rangeSeparator
 if specified, a string to be printed between two ranges

Detailed Description

Highlights the contents of a file relying on a SourceHighlighter.


Constructor & Destructor Documentation

srchilite::SourceFileHighlighter::SourceFileHighlighter ( const std::string &  file,
SourceHighlighter sourceHighlighter,
BufferedOutput output 
)
Parameters:
filethe name of the file to highlight; if the filename is empty then we will process the standard input
sourceHighlighterthe highlighter to highlight paragraphs
outputthe output object used to write

Member Function Documentation

void srchilite::SourceFileHighlighter::highlight ( std::istream &  is)

Performs the highlighting of the contents of the given input stream; Once the highlighting is finished, this object can be re-used.

Parameters:
is
void srchilite::SourceFileHighlighter::highlight ( const std::string &  is)

Performs the highlighting of the contents of the given string; Once the highlighting is finished, this object can be re-used.

Parameters:
is
void srchilite::SourceFileHighlighter::setRangeSeparator ( const std::string &  rangeSep)

The range separator will be automatically preformatted to deal with the specific output format.

Parameters:
rangeSep

The documentation for this class was generated from the following files: