Source-highlight Library
/home/bettini/work/source-highlight/src-highlite/lib/srchilite/regexrulefactory.h
00001 //
00002 // Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2004-2008
00003 //
00004 // Copyright: See COPYING file that comes with this distribution
00005 //
00006 
00007 #ifndef REGEXRULEFACTORY_H_
00008 #define REGEXRULEFACTORY_H_
00009 
00010 #include "highlightrulefactory.h"
00011 
00012 namespace srchilite {
00013 
00018 class RegexRuleFactory : public HighlightRuleFactory {
00019 public:
00020     RegexRuleFactory();
00021     virtual ~RegexRuleFactory();
00022 
00023     virtual HighlightRule *createSimpleRule(const std::string &name,
00024             const std::string &s);
00025 
00026     virtual HighlightRule *createWordListRule(const std::string &name,
00027                 const WordList &list, bool caseSensitve = true);
00028 
00029     virtual HighlightRule *createListRule(const std::string &name,
00030                 const WordList &list, bool caseSensitve = true);
00031 
00032     virtual HighlightRule *createLineRule(const std::string &name,
00033             const std::string &start, const std::string &end,
00034             const std::string &escape = "", bool nested = false);
00035 
00036     virtual HighlightRule *createMultiLineRule(const std::string &name,
00037             const std::string &start, const std::string &end,
00038             const std::string &escape, bool nested);
00039 
00040     virtual HighlightRule *createCompoundRule(const ElemNameList &nameList,
00041             const std::string &rep);
00042 };
00043 
00044 }
00045 
00046 #endif /*REGEXRULEFACTORY_H_*/