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:

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. More...
 
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. More...
 
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. More...
 

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: