Source-highlight Library
|
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_*/