Move some functions to Differ, add unified diff

Change-Id: Id8178fb84f25a18fda42e02954f28359d0ef4623
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
This commit is contained in:
Jarek Kobus
2014-02-14 14:34:21 +01:00
committed by Jarek Kobus
parent c9203d53a8
commit 1c76e25fdc
3 changed files with 651 additions and 585 deletions

View File

@@ -69,12 +69,30 @@ public:
};
Differ();
QList<Diff> diff(const QString &text1, const QString &text2);
QList<Diff> unifiedDiff(const QString &text1, const QString &text2);
void setDiffMode(DiffMode mode);
DiffMode diffMode() const;
static QList<Diff> merge(const QList<Diff> &diffList);
static QList<Diff> cleanupSemantics(const QList<Diff> &diffList);
static QList<Diff> cleanupSemanticsLossless(const QList<Diff> &diffList);
static void splitDiffList(const QList<Diff> &diffList,
QList<Diff> *leftDiffList,
QList<Diff> *rightDiffList);
static QList<Diff> moveWhitespaceIntoEqualities(const QList<Diff> &input);
static void diffWithWhitespaceReduced(const QString &leftInput,
const QString &rightInput,
QList<Diff> *leftOutput,
QList<Diff> *rightOutput);
static void unifiedDiffWithWhitespaceReduced(const QString &leftInput,
const QString &rightInput,
QList<Diff> *leftOutput,
QList<Diff> *rightOutput);
static void diffBetweenEqualities(const QList<Diff> &leftInput,
const QList<Diff> &rightInput,
QList<Diff> *leftOutput,
QList<Diff> *rightOutput);
private:
QList<Diff> preprocess1AndDiff(const QString &text1, const QString &text2);
QList<Diff> preprocess2AndDiff(const QString &text1, const QString &text2);