improved (removed) dependencies

This commit is contained in:
sergeych committed 2023-04-06 15:31:48 +01:00
1 parent 485afbbace
commit 86d24c6a9a
4 files changed
+35 -57

No files matched your search

@@ -5,7 +5,6 @@ import dev.gitlive.difflib.patch.AbstractDelta
import dev.gitlive.difflib.patch.ChangeDelta
import dev.gitlive.difflib.patch.DeleteDelta
import dev.gitlive.difflib.patch.InsertDelta
import net.sergeych.sprintf.sprintf
/**
* Merge result. This version does not report (yet) conflicts, just merges it all. See also [blocks] for
@@ -43,15 +42,6 @@ class MergeResult<T>(
}
}
fun toTrace(source: List<T>): String {
val r = StringBuilder()
r.append(merged.indices.joinToString("") { "%3d".sprintf(it) } + "\n")
r.append(merged.joinToString("") { "%3s".sprintf(it) } + "\n")
r.append("---- source ----\n")
r.append(source.joinToString("") { "%3s".sprintf(it) } + "\n")
r.append(sourceIndices.joinToString("") { "%3s".sprintf(it) } + "\n")
return r.toString()
}
}
/**
@@ -102,23 +92,23 @@ private class Merge3<T>(
if (showDebug) println(f())
}
private fun trace() {
debug { result.indices.joinToString("") { "%3d".sprintf(it) } }
debug { result.joinToString("") { "%3s".sprintf(it.toString()) } }
debug {
changeCount.joinToString("") {
when (it) {
1 -> " *"
0 -> " ."
2 -> " !"
else -> " !$it"
}
}
}
debug { reindex.joinToString("") { if (it < 0) " x" else "%3d".sprintf(it) } }
}
// private fun trace() {
//
// debug { result.indices.joinToString("") { "%3d".sprintf(it) } }
// debug { result.joinToString("") { "%3s".sprintf(it.toString()) } }
// debug {
// changeCount.joinToString("") {
// when (it) {
// 1 -> " *"
// 0 -> " ."
// 2 -> " !"
// else -> " !$it"
// }
// }
// }
// debug { reindex.joinToString("") { if (it < 0) " x" else "%3d".sprintf(it) } }
//
// }
private fun findPosition(sourcePosition: Int): Int {
var position = if (sourcePosition < reindex.size) reindex[sourcePosition] else reindex.last() + 1
@@ -184,7 +174,7 @@ private class Merge3<T>(
is ChangeDelta<T> -> {
deleteAt(delta.source.position, delta.source.size())
trace()
// trace()
insertAt(delta.source.position, delta.target.lines)
}
@@ -197,7 +187,7 @@ private class Merge3<T>(
}
}
debug { "Applied: $delta, result:" }
trace()
// trace()
}
@@ -208,8 +198,7 @@ private class Merge3<T>(
debug { "dA: $dA" }
debug { "dB: $dB" }
trace()
// trace()
debug { "adding first set" }
for (d in dA) {
@@ -261,7 +250,7 @@ private class Merge3<T>(
}
else -> {
trace()
// trace()
throw RuntimeException("internal error: invalud change counter @$index:$count")
}
}
+12
View File
@@ -1,10 +1,22 @@
import net.sergeych.merge3.MergeResult
import net.sergeych.merge3.merge3
import net.sergeych.mp_logger.Log
import net.sergeych.sprintf.sprintf
import kotlin.test.Test
import kotlin.test.assertEquals
val List<Char>.str: String get() = joinToString("")
fun <T>MergeResult<T>.toTrace(source: List<T>): String {
val r = StringBuilder()
r.append(merged.indices.joinToString("") { "%3d".sprintf(it) } + "\n")
r.append(merged.joinToString("") { "%3s".sprintf(it) } + "\n")
r.append("---- source ----\n")
r.append(source.joinToString("") { "%3s".sprintf(it) } + "\n")
r.append(sourceIndices.joinToString("") { "%3s".sprintf(it) } + "\n")
return r.toString()
}
class BasicTest {
@Test
fun testMergeNoConflicts() {