Source-highlight Library
srchilite::HighlightRuleFactory Class Reference

Abstract factory for highlighting rules. More...

#include <highlightrulefactory.h>

Inheritance diagram for srchilite::HighlightRuleFactory:

List of all members.

Public Member Functions

virtual HighlightRulecreateSimpleRule (const std::string &name, const std::string &s)=0
 Creates a generic highlighting rule.
virtual HighlightRulecreateWordListRule (const std::string &name, const WordList &list, bool caseSensitve=true)=0
 Creates a rule for detecting a list of specific words, i.e., isolated from other parts by a space or a delimiter (e.g., if "class" is considered as a word, then it will not match the substring "class" in "myclass")
virtual HighlightRulecreateListRule (const std::string &name, const WordList &list, bool caseSensitve=true)=0
 Creates a rule for detecting a list of specific expressions.
virtual HighlightRulecreateLineRule (const std::string &name, const std::string &start, const std::string &end, const std::string &escape, bool nested)=0
 Creates a rule for matching a delimited string (spanning a single line)
virtual HighlightRulecreateMultiLineRule (const std::string &name, const std::string &start, const std::string &end, const std::string &escape, bool nested)=0
 Creates a rule for matching a delimited string (possibly spanning more than one line)
virtual HighlightRulecreateCompoundRule (const ElemNameList &nameList, const std::string &rep)=0
 Creates a rule for matching many element names, each represented by a subexpression (the number of subexpression must be equal to the size of the nameList)

Detailed Description

Abstract factory for highlighting rules.


Member Function Documentation

virtual HighlightRule* srchilite::HighlightRuleFactory::createCompoundRule ( const ElemNameList &  nameList,
const std::string &  rep 
) [pure virtual]

Creates a rule for matching many element names, each represented by a subexpression (the number of subexpression must be equal to the size of the nameList)

Parameters:
nameListthe list of element names represented by the rule
repthe string representation of the rule
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.

virtual HighlightRule* srchilite::HighlightRuleFactory::createLineRule ( const std::string &  name,
const std::string &  start,
const std::string &  end,
const std::string &  escape,
bool  nested 
) [pure virtual]

Creates a rule for matching a delimited string (spanning a single line)

Parameters:
namethe element name represented by the rule
startthe string determining the start of the sequence
endthe string determining the end of the sequence
escapethe string the escape sequence (typically a char, e.g., \)
nestedwhether the delimiters can be nested
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.

virtual HighlightRule* srchilite::HighlightRuleFactory::createListRule ( const std::string &  name,
const WordList &  list,
bool  caseSensitve = true 
) [pure virtual]

Creates a rule for detecting a list of specific expressions.

Parameters:
namethe element name represented by the rule
listthe list of words to detect
caseSensitiveif the characters in the expression must be interpreted case sensitive
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.

virtual HighlightRule* srchilite::HighlightRuleFactory::createMultiLineRule ( const std::string &  name,
const std::string &  start,
const std::string &  end,
const std::string &  escape,
bool  nested 
) [pure virtual]

Creates a rule for matching a delimited string (possibly spanning more than one line)

Parameters:
namethe element name represented by the rule
startthe string determining the start of the sequence
endthe string determining the end of the sequence
escapethe string the escape sequence (typically a char, e.g., \)
nestedwhether the delimiters can be nested
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.

virtual HighlightRule* srchilite::HighlightRuleFactory::createSimpleRule ( const std::string &  name,
const std::string &  s 
) [pure virtual]

Creates a generic highlighting rule.

Parameters:
namethe element name represented by the rule
thestring representation
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.

virtual HighlightRule* srchilite::HighlightRuleFactory::createWordListRule ( const std::string &  name,
const WordList &  list,
bool  caseSensitve = true 
) [pure virtual]

Creates a rule for detecting a list of specific words, i.e., isolated from other parts by a space or a delimiter (e.g., if "class" is considered as a word, then it will not match the substring "class" in "myclass")

Parameters:
namethe element name represented by the rule
listthe list of words to detect
caseSensitiveif the characters in the expression must be interpreted case sensitive
Returns:
the generated rule

Implemented in srchilite::RegexRuleFactory.


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