00001
00002
00003
00004
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