diff options
Diffstat (limited to 'src/ruleparser.h')
-rw-r--r-- | src/ruleparser.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ruleparser.h b/src/ruleparser.h index 9d21937..26dfa72 100644 --- a/src/ruleparser.h +++ b/src/ruleparser.h @@ -57,9 +57,19 @@ public: struct Match : Rule { + struct Substitution { + QRegExp pattern; + QString replacement; + + bool isValid() { return !pattern.isEmpty(); } + QString& apply(QString &string) { return string.replace(pattern, replacement); } + }; + QRegExp rx; QString repository; + QList<Substitution> repo_substs; QString branch; + QList<Substitution> branch_substs; QString prefix; int minRevision; int maxRevision; @@ -83,6 +93,7 @@ public: const QList<Repository> repositories() const; const QList<Match> matchRules() const; + Match::Substitution parseSubstitution(const QString &string); void load(); private: |