aboutsummaryrefslogtreecommitdiffstats
path: root/src/ruleparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ruleparser.h')
-rw-r--r--src/ruleparser.h11
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: