aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/util
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-03-31 11:47:47 +0200
committerFelix Mulder <felix.mulder@gmail.com>2017-03-31 11:55:06 +0200
commit6d7c23016ec866de0b29e9bdde00b60c99df90c2 (patch)
tree6a6e0bdff7aefa783b46415523f7c864f0785253 /compiler/src/dotty/tools/dotc/util
parentf9db9097d0cf314d675669d80f8d5eb8d20f0710 (diff)
downloaddotty-6d7c23016ec866de0b29e9bdde00b60c99df90c2.tar.gz
dotty-6d7c23016ec866de0b29e9bdde00b60c99df90c2.tar.bz2
dotty-6d7c23016ec866de0b29e9bdde00b60c99df90c2.zip
Make DiffUtil's rendering readable in logs
Diffstat (limited to 'compiler/src/dotty/tools/dotc/util')
-rw-r--r--compiler/src/dotty/tools/dotc/util/DiffUtil.scala19
1 files changed, 18 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/util/DiffUtil.scala b/compiler/src/dotty/tools/dotc/util/DiffUtil.scala
index b55aee719..6f7df13a6 100644
--- a/compiler/src/dotty/tools/dotc/util/DiffUtil.scala
+++ b/compiler/src/dotty/tools/dotc/util/DiffUtil.scala
@@ -58,8 +58,25 @@ object DiffUtil {
(fnd, exp, totalChange.toDouble / (expected.length + found.length))
}
- def mkColoredCodeDiff(code: String, lastCode: String, printDiffDel: Boolean): String = {
+ def mkColoredLineDiff(expected: String, actual: String): String = {
+ val tokens = splitTokens(expected, Nil).toArray
+ val lastTokens = splitTokens(actual, Nil).toArray
+
+ val diff = hirschberg(lastTokens, tokens)
+ " |SOF\n" + diff.collect {
+ case Unmodified(str) =>
+ " |" + str
+ case Inserted(str) =>
+ ADDITION_COLOR + "e |" + str + ANSI_DEFAULT
+ case Modified(old, str) =>
+ DELETION_COLOR + "a |" + old + "\ne |" + ADDITION_COLOR + str + ANSI_DEFAULT
+ case Deleted(str) =>
+ DELETION_COLOR + "\na |" + str + ANSI_DEFAULT
+ }.mkString + "\n |EOF"
+ }
+
+ def mkColoredCodeDiff(code: String, lastCode: String, printDiffDel: Boolean): String = {
val tokens = splitTokens(code, Nil).toArray
val lastTokens = splitTokens(lastCode, Nil).toArray